<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.vmssoftware.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sergey+vorfolomeev</id>
	<title>VSI OpenVMS Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.vmssoftware.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sergey+vorfolomeev"/>
	<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/Special:Contributions/Sergey_vorfolomeev"/>
	<updated>2026-04-22T05:09:17Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=SSH_Settings&amp;diff=2649</id>
		<title>SSH Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=SSH_Settings&amp;diff=2649"/>
		<updated>2024-02-12T09:28:35Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* Connection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An SSH connection to an OpenVMS machine is required for syncing source code files, building, running, and debugging projects. &amp;lt;br&amp;gt;&lt;br /&gt;
Depending on the type of configuration, SSH connection settings can be edited either in the &#039;&#039;&#039;vmssoftware.ssh-helper-settings.json&#039;&#039;&#039; file located in &#039;&#039;/.vscode&#039;&#039; directory or via &#039;&#039;&#039;Visual Studio Code&#039;&#039;&#039; settings page.&lt;br /&gt;
&lt;br /&gt;
=SSH Settings Template=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;connection&amp;quot;: {&lt;br /&gt;
        &amp;quot;host&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;keyFile&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;password&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;port&amp;quot;: 22,&lt;br /&gt;
        &amp;quot;username&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;skipSignatureVerification&amp;quot;: false,&lt;br /&gt;
        &amp;quot;supportSetFileTime&amp;quot;: true,&lt;br /&gt;
        &amp;quot;unzipCmd&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;zipCmd&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
        &amp;quot;algorithms&amp;quot;: {&lt;br /&gt;
            &amp;quot;kex&amp;quot;: [],&lt;br /&gt;
            &amp;quot;cipher&amp;quot;: [],&lt;br /&gt;
            &amp;quot;serverHostKey&amp;quot;: [],&lt;br /&gt;
            &amp;quot;hmac&amp;quot;: [],&lt;br /&gt;
            &amp;quot;compress&amp;quot;: []&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;addConnectConfig&amp;quot;: null,&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;host-collection&amp;quot;: {&lt;br /&gt;
        &amp;quot;hosts&amp;quot;: []&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;timeouts&amp;quot;: {&lt;br /&gt;
        &amp;quot;cmdTimeout&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;feedbackTimeout&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;welcomeTimeout&amp;quot;: 0&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;terminal&amp;quot;: {&lt;br /&gt;
        &amp;quot;command&amp;quot;: &amp;quot;ssh -oHostKeyAlgorithms=+ssh-dss ${keyFile?-i ${keyFile}} ${username?${username}@}${host}&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Connection=&lt;br /&gt;
The &#039;&#039;&#039;connection&#039;&#039;&#039; section sets the current connection details.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;host&#039;&#039;&#039;&amp;lt;/code&amp;gt; - IP-address or name of an OpenVMS machine or the label of a predefined connection from the &#039;&#039;&#039;host collection&#039;&#039;&#039; section&lt;br /&gt;
case, all other fields are ignored. &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;port&#039;&#039;&#039;&amp;lt;/code&amp;gt; - The port number to use for the SSH connection. Default is 22.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039;&amp;lt;/code&amp;gt; - User account that will be used for the SSH connection.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039;&amp;lt;/code&amp;gt; - User password that will be used for the SSH connection. If it is omitted a password input box will be shown on connection attempt.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;keyFile&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Path to SSH private key file. For details on how to configure connection using SSH key, see [https://raymii.org/s/blog/SSH_public_key_authentication_on_OpenVMS.html SSH public key authentication on OpenVMS]&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;skipSignatureVerification&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Skip signature verification. Set it to &#039;true&#039; if an error &#039;Handshake failed: signature verification failed&#039; occurs.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;supportSetFileTime&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Set it to &#039;false&#039; if SFTP server doesn&#039;t support setting file time, so shell command will be used for this.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;unzipCmd&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Command to unzip file on VMS side. A pattern &#039;&#039;&#039;${ZIPFILE}&#039;&#039;&#039; inside the command will be changed to the real name of ZIP file (the same as the name of the project).&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;zipCmd&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Command to zip listing files on VMS side. A pattern &#039;&#039;&#039;${ZIPFILE}&#039;&#039;&#039; inside the command will be changed to the real name of ZIP file (the same as the name of the project). A pattern &#039;&#039;&#039;${ADDFILE}&#039;&#039;&#039; will be changed to the mask of listing files. Note: the zip command will be executed for each entry in listing mask, so the command must append files to the ZIP file. For example: if listing mask is &amp;quot;*.lis,*.map&amp;quot;, the command will be executed twice - in first for &amp;quot;*.lis&amp;quot; and in second for &amp;quot;*.map&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;algorithms&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Optional. This allows you to explicitly override the default transport layer algorithms used for the connection. See https://www.npmjs.com/package/ssh2#client-methods and https://www.npmjs.com/package/ssh2-streams#ssh2stream-methods&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addConnectConfig&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Optional. This allows you to explicitly override the default configuration used for the connection. See https://www.npmjs.com/package/ssh2#client-methods&lt;br /&gt;
&lt;br /&gt;
Required fields are: &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;host&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User may use either key file, agent or password to establish a connection:&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;keyFile&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;agent&#039;&#039;&#039; in &amp;lt;code&amp;gt;&#039;&#039;&#039;addConnectConfig&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To use &#039;&#039;&#039;agent&#039;&#039;&#039; in the connection user must add it to the &amp;lt;code&amp;gt;&#039;&#039;&#039;addConnectConfig&#039;&#039;&#039;&amp;lt;/code&amp;gt; block. Also one has to have pageant.exe file in &#039;&#039;&#039;~/home/.vscode/extensions/vmssoftwareinc.vms-ide-X.X.XX/util/pageant.exe&#039;&#039;&#039; (place the version of vms-ide instead of X.X.XX). This file can be downloaded from https://github.com/mscdex/ssh2/blob/master/util/pagent.exe&lt;br /&gt;
&lt;br /&gt;
If nothing is specified, user will be prompted to enter the password during the connection attempt.&lt;br /&gt;
&lt;br /&gt;
=Host Collection=&lt;br /&gt;
If you need to connect to different servers when working on your project, it makes sense to create a list of required connections to be able to quickly connect to any of them. &lt;br /&gt;
You can do this by adding all the required connections to the &#039;&#039;&#039;Host Collection&#039;&#039;&#039; list.&lt;br /&gt;
&lt;br /&gt;
=== Adding a new host to collection ===&lt;br /&gt;
To add a new host to the collection:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy the ssh connection template to &#039;&#039;&#039;host-collection.hosts&#039;&#039;&#039; array:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;host-collection&amp;quot;: {&lt;br /&gt;
    &amp;quot;hosts&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;host&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;keyFile&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;password&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;port&amp;quot;: 22,&lt;br /&gt;
            &amp;quot;username&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;skipSignatureVerification&amp;quot;: false,&lt;br /&gt;
            &amp;quot;supportSetFileTime&amp;quot;: true,&lt;br /&gt;
            &amp;quot;unzipCmd&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;zipCmd&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
            &amp;quot;algorithms&amp;quot;: {&lt;br /&gt;
                &amp;quot;kex&amp;quot;: [],&lt;br /&gt;
                &amp;quot;cipher&amp;quot;: [],&lt;br /&gt;
                &amp;quot;serverHostKey&amp;quot;: [],&lt;br /&gt;
                &amp;quot;hmac&amp;quot;: [],&lt;br /&gt;
                &amp;quot;compress&amp;quot;: []&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Specify connection parameters&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;host-collection&amp;quot;: {&lt;br /&gt;
    &amp;quot;hosts&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;label&amp;quot;: &amp;quot;First&amp;quot;,&lt;br /&gt;
            &amp;quot;host&amp;quot;: &amp;quot;192.168.1.1&amp;quot;,&lt;br /&gt;
            &amp;quot;password&amp;quot;: &amp;quot;pass&amp;quot;,&lt;br /&gt;
            &amp;quot;port&amp;quot;: 22,&lt;br /&gt;
            &amp;quot;username&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
            &amp;quot;skipSignatureVerification&amp;quot;: true,&lt;br /&gt;
            &amp;quot;supportSetFileTime&amp;quot;: true,&lt;br /&gt;
            &amp;quot;unzipCmd&amp;quot;: &amp;quot;unzip /restore=nodate /existing=new_version ${ZIPFILE}&amp;quot;,&lt;br /&gt;
            &amp;quot;zipCmd&amp;quot;: &amp;quot;zip ${ZIPFILE} [...]${ADDFILE}&amp;quot;,&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure that &#039;&#039;&#039;label&#039;&#039;&#039; parameter is set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Selecting which connection to use===&lt;br /&gt;
To use one of connections from the &#039;&#039;&#039;host collection&#039;&#039;&#039; section, copy the value of &#039;&#039;label&#039;&#039; and paste it in angle brackets (&#039;&#039;&#039;&amp;lt;label&amp;gt;&#039;&#039;&#039;) to the &#039;&#039;&#039;host&#039;&#039;&#039; field in the &#039;&#039;&#039;connection&#039;&#039;&#039; section.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;connection&amp;quot;: {&lt;br /&gt;
        &amp;quot;host&amp;quot;: &amp;quot;&amp;lt;MySSHConnection&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;keyFile&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;password&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;port&amp;quot;: 22,&lt;br /&gt;
        &amp;quot;username&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;skipSignatureVerification&amp;quot;: false&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;host-collection&amp;quot;: {&lt;br /&gt;
        &amp;quot;hosts&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;host&amp;quot;: &amp;quot;10.10.6.1&amp;quot;,&lt;br /&gt;
                &amp;quot;keyFile&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
                &amp;quot;password&amp;quot;: &amp;quot;myPassword&amp;quot;,&lt;br /&gt;
                &amp;quot;port&amp;quot;: 22,&lt;br /&gt;
                &amp;quot;username&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
                &amp;quot;skipSignatureVerification&amp;quot;: true,&lt;br /&gt;
                &amp;quot;supportSetFileTime&amp;quot;: true,&lt;br /&gt;
                &amp;quot;unzipCmd&amp;quot;: &amp;quot;unzip /restore=nodate /existing=new_version ${ZIPFILE}&amp;quot;,&lt;br /&gt;
                &amp;quot;zipCmd&amp;quot;: &amp;quot;zip ${ZIPFILE} [...]${ADDFILE}&amp;quot;,&lt;br /&gt;
                &amp;quot;label&amp;quot;: &amp;quot;MySSHConnection&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;NOTE&#039;&#039;&#039;: If you use VSC type of configuration, you will not be able to specify host collection in UI. Instead, you need to click &amp;quot;Edit in settings.json&amp;quot; and specify them in the &#039;&#039;&#039;settings.json&#039;&#039;&#039; file. &lt;br /&gt;
&lt;br /&gt;
[[File:Ssh collection hosts.png|Ssh collection hosts.png]]&lt;br /&gt;
&lt;br /&gt;
=Timeouts=&lt;br /&gt;
You can define SSH connection timeouts in this section.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;cmdTimeout&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Timeout for command response. If a command is sent to the OpenVMS system and the OpenVMS system does not a send response for the specified period of time, it will be considered as rejected.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;feedbackTimeout&#039;&#039;&#039;&amp;lt;/code&amp;gt; - If the SSH connection does not send feedback for the specified interval, the password will be considered as invalid.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;welcomeTimeout&#039;&#039;&#039;&amp;lt;/code&amp;gt; - If the SSH shell prompt is not received within this interval, the shell will be closed.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;NOTE&#039;&#039;&#039;: Value &amp;quot;0&amp;quot; means, that timeout is not used. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;WARN&#039;&#039;&#039;: Do not change timeout settings unless necessary.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;timeouts&amp;quot;: {&lt;br /&gt;
    &amp;quot;cmdTimeout&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;feedbackTimeout&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;welcomeTimeout&amp;quot;: 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Terminal=&lt;br /&gt;
Specifies command to start the shell in the VS Code integrated terminal.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;Command&#039;&#039;&#039;&amp;lt;/code&amp;gt; - command to start the shell.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;NOTE:&#039;&#039;&#039; It is possible to use variables in the command. The syntax is: &amp;lt;code&amp;gt;${variable}&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;${varable?&amp;lt;text if variable isn&#039;t empty&amp;gt;}&amp;lt;/code&amp;gt;. Supported variables: &#039;&#039;&#039;host&#039;&#039;&#039;, &#039;&#039;&#039;port&#039;&#039;&#039;, &#039;&#039;&#039;username&#039;&#039;&#039;, &#039;&#039;&#039;password&#039;&#039;&#039;, and &#039;&#039;&#039;keyFile&#039;&#039;&#039;.&lt;br /&gt;
 &#039;&#039;&#039;NOTE:&#039;&#039;&#039; password may come from settings or UI prompt that is shown if the password is not specified in settings. Passwords entered in the terminal are not saved.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;terminal&amp;quot;: {&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;ssh -oHostKeyAlgorithms=+ssh-dss ${keyFile?-i ${keyFile}} ${username?${username}@}${host}&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=Ib1Fo6cG1Vs&amp;amp;list=PLewDXk9a8laO3cAZFPyZ4bbgcKsJ1qgPo Video tutorial: VMS IDE 1 Starting a Project]. In video &amp;quot;SSH Settings&amp;quot; shown at 1:45 - 2:39 time period.&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS IDE]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=SSH_Settings&amp;diff=2635</id>
		<title>SSH Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=SSH_Settings&amp;diff=2635"/>
		<updated>2023-11-15T10:29:51Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* Connection */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An SSH connection to an OpenVMS machine is required for syncing source code files, building, running, and debugging projects. &amp;lt;br&amp;gt;&lt;br /&gt;
Depending on the type of configuration, SSH connection settings can be edited either in the &#039;&#039;&#039;vmssoftware.ssh-helper-settings.json&#039;&#039;&#039; file located in &#039;&#039;/.vscode&#039;&#039; directory or via &#039;&#039;&#039;Visual Studio Code&#039;&#039;&#039; settings page.&lt;br /&gt;
&lt;br /&gt;
=SSH Settings Template=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;connection&amp;quot;: {&lt;br /&gt;
        &amp;quot;host&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;keyFile&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;password&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;port&amp;quot;: 22,&lt;br /&gt;
        &amp;quot;username&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;skipSignatureVerification&amp;quot;: false,&lt;br /&gt;
        &amp;quot;supportSetFileTime&amp;quot;: true,&lt;br /&gt;
        &amp;quot;unzipCmd&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;zipCmd&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
        &amp;quot;algorithms&amp;quot;: {&lt;br /&gt;
            &amp;quot;kex&amp;quot;: [],&lt;br /&gt;
            &amp;quot;cipher&amp;quot;: [],&lt;br /&gt;
            &amp;quot;serverHostKey&amp;quot;: [],&lt;br /&gt;
            &amp;quot;hmac&amp;quot;: [],&lt;br /&gt;
            &amp;quot;compress&amp;quot;: []&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;addConnectConfig&amp;quot;: null,&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;host-collection&amp;quot;: {&lt;br /&gt;
        &amp;quot;hosts&amp;quot;: []&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;timeouts&amp;quot;: {&lt;br /&gt;
        &amp;quot;cmdTimeout&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;feedbackTimeout&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;welcomeTimeout&amp;quot;: 0&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;terminal&amp;quot;: {&lt;br /&gt;
        &amp;quot;command&amp;quot;: &amp;quot;ssh -oHostKeyAlgorithms=+ssh-dss ${keyFile?-i ${keyFile}} ${username?${username}@}${host}&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Connection=&lt;br /&gt;
The &#039;&#039;&#039;connection&#039;&#039;&#039; section sets the current connection details.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;host&#039;&#039;&#039;&amp;lt;/code&amp;gt; - IP-address or name of an OpenVMS machine or the label of a predefined connection from the &#039;&#039;&#039;host collection&#039;&#039;&#039; section&lt;br /&gt;
case, all other fields are ignored. &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;port&#039;&#039;&#039;&amp;lt;/code&amp;gt; - The port number to use for the SSH connection. Default is 22.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039;&amp;lt;/code&amp;gt; - User account that will be used for the SSH connection.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039;&amp;lt;/code&amp;gt; - User password that will be used for the SSH connection. If it is omitted a password input box will be shown on connection attempt.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;keyFile&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Path to SSH private key file. For details on how to configure connection using SSH key, see [https://raymii.org/s/blog/SSH_public_key_authentication_on_OpenVMS.html SSH public key authentication on OpenVMS]&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;skipSignatureVerification&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Skip signature verification. Set it to &#039;true&#039; if an error &#039;Handshake failed: signature verification failed&#039; occurs.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;supportSetFileTime&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Set it to &#039;false&#039; if SFTP server doesn&#039;t support setting file time, so shell command will be used for this.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;unzipCmd&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Command to unzip file on VMS side. A pattern &#039;&#039;&#039;${ZIPFILE}&#039;&#039;&#039; inside the command will be changed to the real name of ZIP file (the same as the name of the project).&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;zipCmd&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Command to zip listing files on VMS side. A pattern &#039;&#039;&#039;${ZIPFILE}&#039;&#039;&#039; inside the command will be changed to the real name of ZIP file (the same as the name of the project). A pattern &#039;&#039;&#039;${ADDFILE}&#039;&#039;&#039; will be changed to the mask of listing files. Note: the zip command will be executed for each entry in listing mask, so the command must append files to the ZIP file. For example: if listing mask is &amp;quot;*.lis,*.map&amp;quot;, the command will be executed twice - in first for &amp;quot;*.lis&amp;quot; and in second for &amp;quot;*.map&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;algorithms&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Optional. This allows you to explicitly override the default transport layer algorithms used for the connection. See https://www.npmjs.com/package/ssh2#client-methods and https://www.npmjs.com/package/ssh2-streams#ssh2stream-methods&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addConnectConfig&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Optional. This allows you to explicitly override the default configuration used for the connection. See https://www.npmjs.com/package/ssh2#client-methods&lt;br /&gt;
&lt;br /&gt;
Required fields are: &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;host&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
User may use either key file, agent or password to establish a connection:&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;keyFile&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;agent&#039;&#039;&#039; in &amp;lt;code&amp;gt;&#039;&#039;&#039;addConnectConfig&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To use &#039;&#039;&#039;agent&#039;&#039;&#039; in the connection user must add it to the &amp;lt;code&amp;gt;&#039;&#039;&#039;addConnectConfig&#039;&#039;&#039;&amp;lt;/code&amp;gt; block.&lt;br /&gt;
&lt;br /&gt;
If nothing is specified, user will be prompted to enter the password during the connection attempt.&lt;br /&gt;
&lt;br /&gt;
=Host Collection=&lt;br /&gt;
If you need to connect to different servers when working on your project, it makes sense to create a list of required connections to be able to quickly connect to any of them. &lt;br /&gt;
You can do this by adding all the required connections to the &#039;&#039;&#039;Host Collection&#039;&#039;&#039; list.&lt;br /&gt;
&lt;br /&gt;
=== Adding a new host to collection ===&lt;br /&gt;
To add a new host to the collection:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy the ssh connection template to &#039;&#039;&#039;host-collection.hosts&#039;&#039;&#039; array:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;host-collection&amp;quot;: {&lt;br /&gt;
    &amp;quot;hosts&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;host&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;keyFile&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;password&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;port&amp;quot;: 22,&lt;br /&gt;
            &amp;quot;username&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;skipSignatureVerification&amp;quot;: false,&lt;br /&gt;
            &amp;quot;supportSetFileTime&amp;quot;: true,&lt;br /&gt;
            &amp;quot;unzipCmd&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;zipCmd&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
            &amp;quot;algorithms&amp;quot;: {&lt;br /&gt;
                &amp;quot;kex&amp;quot;: [],&lt;br /&gt;
                &amp;quot;cipher&amp;quot;: [],&lt;br /&gt;
                &amp;quot;serverHostKey&amp;quot;: [],&lt;br /&gt;
                &amp;quot;hmac&amp;quot;: [],&lt;br /&gt;
                &amp;quot;compress&amp;quot;: []&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Specify connection parameters&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;host-collection&amp;quot;: {&lt;br /&gt;
    &amp;quot;hosts&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;label&amp;quot;: &amp;quot;First&amp;quot;,&lt;br /&gt;
            &amp;quot;host&amp;quot;: &amp;quot;192.168.1.1&amp;quot;,&lt;br /&gt;
            &amp;quot;password&amp;quot;: &amp;quot;pass&amp;quot;,&lt;br /&gt;
            &amp;quot;port&amp;quot;: 22,&lt;br /&gt;
            &amp;quot;username&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
            &amp;quot;skipSignatureVerification&amp;quot;: true,&lt;br /&gt;
            &amp;quot;supportSetFileTime&amp;quot;: true,&lt;br /&gt;
            &amp;quot;unzipCmd&amp;quot;: &amp;quot;unzip /restore=nodate /existing=new_version ${ZIPFILE}&amp;quot;,&lt;br /&gt;
            &amp;quot;zipCmd&amp;quot;: &amp;quot;zip ${ZIPFILE} [...]${ADDFILE}&amp;quot;,&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure that &#039;&#039;&#039;label&#039;&#039;&#039; parameter is set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Selecting which connection to use===&lt;br /&gt;
To use one of connections from the &#039;&#039;&#039;host collection&#039;&#039;&#039; section, copy the value of &#039;&#039;label&#039;&#039; and paste it in angle brackets (&#039;&#039;&#039;&amp;lt;label&amp;gt;&#039;&#039;&#039;) to the &#039;&#039;&#039;host&#039;&#039;&#039; field in the &#039;&#039;&#039;connection&#039;&#039;&#039; section.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;connection&amp;quot;: {&lt;br /&gt;
        &amp;quot;host&amp;quot;: &amp;quot;&amp;lt;MySSHConnection&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;keyFile&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;password&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;port&amp;quot;: 22,&lt;br /&gt;
        &amp;quot;username&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;skipSignatureVerification&amp;quot;: false&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;host-collection&amp;quot;: {&lt;br /&gt;
        &amp;quot;hosts&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;host&amp;quot;: &amp;quot;10.10.6.1&amp;quot;,&lt;br /&gt;
                &amp;quot;keyFile&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
                &amp;quot;password&amp;quot;: &amp;quot;myPassword&amp;quot;,&lt;br /&gt;
                &amp;quot;port&amp;quot;: 22,&lt;br /&gt;
                &amp;quot;username&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
                &amp;quot;skipSignatureVerification&amp;quot;: true,&lt;br /&gt;
                &amp;quot;supportSetFileTime&amp;quot;: true,&lt;br /&gt;
                &amp;quot;unzipCmd&amp;quot;: &amp;quot;unzip /restore=nodate /existing=new_version ${ZIPFILE}&amp;quot;,&lt;br /&gt;
                &amp;quot;zipCmd&amp;quot;: &amp;quot;zip ${ZIPFILE} [...]${ADDFILE}&amp;quot;,&lt;br /&gt;
                &amp;quot;label&amp;quot;: &amp;quot;MySSHConnection&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;NOTE&#039;&#039;&#039;: If you use VSC type of configuration, you will not be able to specify host collection in UI. Instead, you need to click &amp;quot;Edit in settings.json&amp;quot; and specify them in the &#039;&#039;&#039;settings.json&#039;&#039;&#039; file. &lt;br /&gt;
&lt;br /&gt;
[[File:Ssh collection hosts.png|Ssh collection hosts.png]]&lt;br /&gt;
&lt;br /&gt;
=Timeouts=&lt;br /&gt;
You can define SSH connection timeouts in this section.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;cmdTimeout&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Timeout for command response. If a command is sent to the OpenVMS system and the OpenVMS system does not a send response for the specified period of time, it will be considered as rejected.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;feedbackTimeout&#039;&#039;&#039;&amp;lt;/code&amp;gt; - If the SSH connection does not send feedback for the specified interval, the password will be considered as invalid.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;welcomeTimeout&#039;&#039;&#039;&amp;lt;/code&amp;gt; - If the SSH shell prompt is not received within this interval, the shell will be closed.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;NOTE&#039;&#039;&#039;: Value &amp;quot;0&amp;quot; means, that timeout is not used. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;WARN&#039;&#039;&#039;: Do not change timeout settings unless necessary.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;timeouts&amp;quot;: {&lt;br /&gt;
    &amp;quot;cmdTimeout&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;feedbackTimeout&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;welcomeTimeout&amp;quot;: 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Terminal=&lt;br /&gt;
Specifies command to start the shell in the VS Code integrated terminal.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;Command&#039;&#039;&#039;&amp;lt;/code&amp;gt; - command to start the shell.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;NOTE:&#039;&#039;&#039; It is possible to use variables in the command. The syntax is: &amp;lt;code&amp;gt;${variable}&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;${varable?&amp;lt;text if variable isn&#039;t empty&amp;gt;}&amp;lt;/code&amp;gt;. Supported variables: &#039;&#039;&#039;host&#039;&#039;&#039;, &#039;&#039;&#039;port&#039;&#039;&#039;, &#039;&#039;&#039;username&#039;&#039;&#039;, &#039;&#039;&#039;password&#039;&#039;&#039;, and &#039;&#039;&#039;keyFile&#039;&#039;&#039;.&lt;br /&gt;
 &#039;&#039;&#039;NOTE:&#039;&#039;&#039; password may come from settings or UI prompt that is shown if the password is not specified in settings. Passwords entered in the terminal are not saved.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;terminal&amp;quot;: {&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;ssh -oHostKeyAlgorithms=+ssh-dss ${keyFile?-i ${keyFile}} ${username?${username}@}${host}&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=Ib1Fo6cG1Vs&amp;amp;list=PLewDXk9a8laO3cAZFPyZ4bbgcKsJ1qgPo Video tutorial: VMS IDE 1 Starting a Project]. In video &amp;quot;SSH Settings&amp;quot; shown at 1:45 - 2:39 time period.&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS IDE]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=SSH_Settings&amp;diff=2549</id>
		<title>SSH Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=SSH_Settings&amp;diff=2549"/>
		<updated>2022-12-15T07:19:31Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An SSH connection to an OpenVMS machine is required for syncing source code files, building, running, and debugging projects. &amp;lt;br&amp;gt;&lt;br /&gt;
Depending on the type of configuration, SSH connection settings can be edited either in the &#039;&#039;&#039;vmssoftware.ssh-helper-settings.json&#039;&#039;&#039; file located in &#039;&#039;/.vscode&#039;&#039; directory or via &#039;&#039;&#039;Visual Studio Code&#039;&#039;&#039; settings page.&lt;br /&gt;
&lt;br /&gt;
=SSH Settings Template=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;connection&amp;quot;: {&lt;br /&gt;
        &amp;quot;host&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;keyFile&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;password&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;port&amp;quot;: 22,&lt;br /&gt;
        &amp;quot;username&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;skipSignatureVerification&amp;quot;: false,&lt;br /&gt;
        &amp;quot;supportSetFileTime&amp;quot;: true,&lt;br /&gt;
        &amp;quot;unzipCmd&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;zipCmd&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
        &amp;quot;algorithms&amp;quot;: {&lt;br /&gt;
            &amp;quot;kex&amp;quot;: [],&lt;br /&gt;
            &amp;quot;cipher&amp;quot;: [],&lt;br /&gt;
            &amp;quot;serverHostKey&amp;quot;: [],&lt;br /&gt;
            &amp;quot;hmac&amp;quot;: [],&lt;br /&gt;
            &amp;quot;compress&amp;quot;: []&lt;br /&gt;
        },&lt;br /&gt;
        &amp;quot;addConnectConfig&amp;quot;: null,&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;host-collection&amp;quot;: {&lt;br /&gt;
        &amp;quot;hosts&amp;quot;: []&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;timeouts&amp;quot;: {&lt;br /&gt;
        &amp;quot;cmdTimeout&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;feedbackTimeout&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;welcomeTimeout&amp;quot;: 0&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;terminal&amp;quot;: {&lt;br /&gt;
        &amp;quot;command&amp;quot;: &amp;quot;ssh -oHostKeyAlgorithms=+ssh-dss ${keyFile?-i ${keyFile}} ${username?${username}@}${host}&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Connection=&lt;br /&gt;
The &#039;&#039;&#039;connection&#039;&#039;&#039; section sets the current connection details.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;host&#039;&#039;&#039;&amp;lt;/code&amp;gt; - IP-address or name of an OpenVMS machine or the label of a predefined connection from the &#039;&#039;&#039;host collection&#039;&#039;&#039; section&lt;br /&gt;
case, all other fields are ignored. &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;port&#039;&#039;&#039;&amp;lt;/code&amp;gt; - The port number to use for the SSH connection. Default is 22.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039;&amp;lt;/code&amp;gt; - User account that will be used for the SSH connection.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039;&amp;lt;/code&amp;gt; - User password that will be used for the SSH connection. If it is omitted a password input box will be shown on connection attempt.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;keyFile&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Path to SSH private key file. For details on how to configure connection using SSH key, see [https://raymii.org/s/blog/SSH_public_key_authentication_on_OpenVMS.html SSH public key authentication on OpenVMS]&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;skipSignatureVerification&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Skip signature verification. Set it to &#039;true&#039; if an error &#039;Handshake failed: signature verification failed&#039; occurs.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;supportSetFileTime&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Set it to &#039;false&#039; if SFTP server doesn&#039;t support setting file time, so shell command will be used for this.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;unzipCmd&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Command to unzip file on VMS side. A pattern &#039;&#039;&#039;${ZIPFILE}&#039;&#039;&#039; inside the command will be changed to the real name of ZIP file (the same as the name of the project).&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;zipCmd&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Command to zip listing files on VMS side. A pattern &#039;&#039;&#039;${ZIPFILE}&#039;&#039;&#039; inside the command will be changed to the real name of ZIP file (the same as the name of the project). A pattern &#039;&#039;&#039;${ADDFILE}&#039;&#039;&#039; will be changed to the mask of listing files. Note: the zip command will be executed for each entry in listing mask, so the command must append files to the ZIP file. For example: if listing mask is &amp;quot;*.lis,*.map&amp;quot;, the command will be executed twice - in first for &amp;quot;*.lis&amp;quot; and in second for &amp;quot;*.map&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;algorithms&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Optional. This allows you to explicitly override the default transport layer algorithms used for the connection. See https://www.npmjs.com/package/ssh2#client-methods and https://www.npmjs.com/package/ssh2-streams#ssh2stream-methods&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addConnectConfig&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Optional. This allows you to explicitly override the default configuration used for the connection. See https://www.npmjs.com/package/ssh2#client-methods&lt;br /&gt;
&lt;br /&gt;
Required fields are: &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;host&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;username&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may use either password or key file to establish connection:&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;keyFile&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;password&#039;&#039;&#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If &#039;&#039;&#039;keyFile&#039;&#039;&#039; is not set, &#039;&#039;&#039;password&#039;&#039;&#039; is used. If neither &#039;&#039;&#039;password&#039;&#039;&#039; nor &#039;&#039;&#039;keyFile&#039;&#039;&#039; is specified, you will be prompted to enter your password during the connection attempt.&lt;br /&gt;
&lt;br /&gt;
=Host Collection=&lt;br /&gt;
If you need to connect to different servers when working on your project, it makes sense to create a list of required connections to be able to quickly connect to any of them. &lt;br /&gt;
You can do this by adding all the required connections to the &#039;&#039;&#039;Host Collection&#039;&#039;&#039; list.&lt;br /&gt;
&lt;br /&gt;
=== Adding a new host to collection ===&lt;br /&gt;
To add a new host to the collection:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Copy the ssh connection template to &#039;&#039;&#039;host-collection.hosts&#039;&#039;&#039; array:&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;host-collection&amp;quot;: {&lt;br /&gt;
    &amp;quot;hosts&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;host&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;keyFile&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;password&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;port&amp;quot;: 22,&lt;br /&gt;
            &amp;quot;username&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;skipSignatureVerification&amp;quot;: false,&lt;br /&gt;
            &amp;quot;supportSetFileTime&amp;quot;: true,&lt;br /&gt;
            &amp;quot;unzipCmd&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
            &amp;quot;zipCmd&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
            &amp;quot;algorithms&amp;quot;: {&lt;br /&gt;
                &amp;quot;kex&amp;quot;: [],&lt;br /&gt;
                &amp;quot;cipher&amp;quot;: [],&lt;br /&gt;
                &amp;quot;serverHostKey&amp;quot;: [],&lt;br /&gt;
                &amp;quot;hmac&amp;quot;: [],&lt;br /&gt;
                &amp;quot;compress&amp;quot;: []&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Specify connection parameters&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;quot;host-collection&amp;quot;: {&lt;br /&gt;
    &amp;quot;hosts&amp;quot;: [&lt;br /&gt;
        {&lt;br /&gt;
            &amp;quot;label&amp;quot;: &amp;quot;First&amp;quot;,&lt;br /&gt;
            &amp;quot;host&amp;quot;: &amp;quot;192.168.1.1&amp;quot;,&lt;br /&gt;
            &amp;quot;password&amp;quot;: &amp;quot;pass&amp;quot;,&lt;br /&gt;
            &amp;quot;port&amp;quot;: 22,&lt;br /&gt;
            &amp;quot;username&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
            &amp;quot;skipSignatureVerification&amp;quot;: true,&lt;br /&gt;
            &amp;quot;supportSetFileTime&amp;quot;: true,&lt;br /&gt;
            &amp;quot;unzipCmd&amp;quot;: &amp;quot;unzip /restore=nodate /existing=new_version ${ZIPFILE}&amp;quot;,&lt;br /&gt;
            &amp;quot;zipCmd&amp;quot;: &amp;quot;zip ${ZIPFILE} [...]${ADDFILE}&amp;quot;,&lt;br /&gt;
        }&lt;br /&gt;
    ]&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Make sure that &#039;&#039;&#039;label&#039;&#039;&#039; parameter is set.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Selecting which connection to use===&lt;br /&gt;
To use one of connections from the &#039;&#039;&#039;host collection&#039;&#039;&#039; section, copy the value of &#039;&#039;label&#039;&#039; and paste it in angle brackets (&#039;&#039;&#039;&amp;lt;label&amp;gt;&#039;&#039;&#039;) to the &#039;&#039;&#039;host&#039;&#039;&#039; field in the &#039;&#039;&#039;connection&#039;&#039;&#039; section.&lt;br /&gt;
&lt;br /&gt;
=== Example ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;connection&amp;quot;: {&lt;br /&gt;
        &amp;quot;host&amp;quot;: &amp;quot;&amp;lt;MySSHConnection&amp;gt;&amp;quot;,&lt;br /&gt;
        &amp;quot;keyFile&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;password&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;port&amp;quot;: 22,&lt;br /&gt;
        &amp;quot;username&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;skipSignatureVerification&amp;quot;: false&lt;br /&gt;
    },&lt;br /&gt;
    &amp;quot;host-collection&amp;quot;: {&lt;br /&gt;
        &amp;quot;hosts&amp;quot;: [&lt;br /&gt;
            {&lt;br /&gt;
                &amp;quot;host&amp;quot;: &amp;quot;10.10.6.1&amp;quot;,&lt;br /&gt;
                &amp;quot;keyFile&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
                &amp;quot;password&amp;quot;: &amp;quot;myPassword&amp;quot;,&lt;br /&gt;
                &amp;quot;port&amp;quot;: 22,&lt;br /&gt;
                &amp;quot;username&amp;quot;: &amp;quot;user&amp;quot;,&lt;br /&gt;
                &amp;quot;skipSignatureVerification&amp;quot;: true,&lt;br /&gt;
                &amp;quot;supportSetFileTime&amp;quot;: true,&lt;br /&gt;
                &amp;quot;unzipCmd&amp;quot;: &amp;quot;unzip /restore=nodate /existing=new_version ${ZIPFILE}&amp;quot;,&lt;br /&gt;
                &amp;quot;zipCmd&amp;quot;: &amp;quot;zip ${ZIPFILE} [...]${ADDFILE}&amp;quot;,&lt;br /&gt;
                &amp;quot;label&amp;quot;: &amp;quot;MySSHConnection&amp;quot;&lt;br /&gt;
            }&lt;br /&gt;
        ]&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;NOTE&#039;&#039;&#039;: If you use VSC type of configuration, you will not be able to specify host collection in UI. Instead, you need to click &amp;quot;Edit in settings.json&amp;quot; and specify them in the &#039;&#039;&#039;settings.json&#039;&#039;&#039; file. &lt;br /&gt;
&lt;br /&gt;
[[File:Ssh collection hosts.png|Ssh collection hosts.png]]&lt;br /&gt;
&lt;br /&gt;
=Timeouts=&lt;br /&gt;
You can define SSH connection timeouts in this section.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;cmdTimeout&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Timeout for command response. If a command is sent to the OpenVMS system and the OpenVMS system does not a send response for the specified period of time, it will be considered as rejected.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;feedbackTimeout&#039;&#039;&#039;&amp;lt;/code&amp;gt; - If the SSH connection does not send feedback for the specified interval, the password will be considered as invalid.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;welcomeTimeout&#039;&#039;&#039;&amp;lt;/code&amp;gt; - If the SSH shell prompt is not received within this interval, the shell will be closed.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;NOTE&#039;&#039;&#039;: Value &amp;quot;0&amp;quot; means, that timeout is not used. &lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;WARN&#039;&#039;&#039;: Do not change timeout settings unless necessary.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;timeouts&amp;quot;: {&lt;br /&gt;
    &amp;quot;cmdTimeout&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;feedbackTimeout&amp;quot;: 0,&lt;br /&gt;
    &amp;quot;welcomeTimeout&amp;quot;: 0&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Terminal=&lt;br /&gt;
Specifies command to start the shell in the VS Code integrated terminal.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;Command&#039;&#039;&#039;&amp;lt;/code&amp;gt; - command to start the shell.&lt;br /&gt;
&lt;br /&gt;
 &#039;&#039;&#039;NOTE:&#039;&#039;&#039; It is possible to use variables in the command. The syntax is: &amp;lt;code&amp;gt;${variable}&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;${varable?&amp;lt;text if variable isn&#039;t empty&amp;gt;}&amp;lt;/code&amp;gt;. Supported variables: &#039;&#039;&#039;host&#039;&#039;&#039;, &#039;&#039;&#039;port&#039;&#039;&#039;, &#039;&#039;&#039;username&#039;&#039;&#039;, &#039;&#039;&#039;password&#039;&#039;&#039;, and &#039;&#039;&#039;keyFile&#039;&#039;&#039;.&lt;br /&gt;
 &#039;&#039;&#039;NOTE:&#039;&#039;&#039; password may come from settings or UI prompt that is shown if the password is not specified in settings. Passwords entered in the terminal are not saved.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;terminal&amp;quot;: {&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;ssh -oHostKeyAlgorithms=+ssh-dss ${keyFile?-i ${keyFile}} ${username?${username}@}${host}&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=Ib1Fo6cG1Vs&amp;amp;list=PLewDXk9a8laO3cAZFPyZ4bbgcKsJ1qgPo Video tutorial: VMS IDE 1 Starting a Project]. In video &amp;quot;SSH Settings&amp;quot; shown at 1:45 - 2:39 time period.&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS IDE]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2391</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2391"/>
		<updated>2021-07-16T07:24:02Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* RMS file object */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== vms.decc ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Checks if a shared image can be opened and loaded into memory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: path to the shared image&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: if the shared image exists and can be opened by dlopen()&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: otherwise&lt;br /&gt;
----&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the VMS time to the Unix time stamp.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: VMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Time in the Unix format (number of seconds since 01/01/1970)&lt;br /&gt;
----&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts the VMS path to a list of Unix paths.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt;: path in the VMS format (supports wildcards)&lt;br /&gt;
: &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
;returns&lt;br /&gt;
:List of paths in the Unix notation&lt;br /&gt;
----&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;VSI C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the environment variable&lt;br /&gt;
: &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt;: default value&lt;br /&gt;
;returns&lt;br /&gt;
:Environment variable value&lt;br /&gt;
----&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt;: seconds to sleep&lt;br /&gt;
;returns&lt;br /&gt;
:The number of seconds left before the sleep timer expires if sleep is interrupted. &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds&lt;br /&gt;
----&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt;: system variable to be queried&lt;br /&gt;
;returns&lt;br /&gt;
:Requested value&lt;br /&gt;
----&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts the UNIX style file specifications to the OpenVMS file specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt;: file name following the Unix file naming conventions&lt;br /&gt;
: &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
: &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
:* 0 - Directory allowed&lt;br /&gt;
:* 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
:* 2 - Force expansion of the string as a directory name&lt;br /&gt;
;returns&lt;br /&gt;
List of OpenVMS style pathnames&lt;br /&gt;
----&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the OpenVMS system time to the Unix local time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Unix time&lt;br /&gt;
----&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt;: Unix time&lt;br /&gt;
;returns&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
=== get_symbol(name:str)-&amp;gt;list ===&lt;br /&gt;
Requests the calling process’s command language interpreter (CLI) to return the value of a CLI symbol as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: Name of the symbol&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: value of the returned symbol&lt;br /&gt;
----&lt;br /&gt;
=== fopen(path:str, mode:str, ...)-&amp;gt;fp:object ===&lt;br /&gt;
Opens a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: A character string containing a valid file specification&lt;br /&gt;
: &amp;lt;code&amp;gt;mode:str&amp;lt;/code&amp;gt;: The access mode indicator&lt;br /&gt;
: &amp;lt;code&amp;gt;...:str&amp;lt;/code&amp;gt;: Optional file attribute arguments&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: File pointer&lt;br /&gt;
----&lt;br /&gt;
=== fclose(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Closes a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file to be closed&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== fileno(fp:object)-&amp;gt;fd:int ===&lt;br /&gt;
Returns the file descriptor associated with the specified file pointer.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
----&lt;br /&gt;
=== write(fd:int, data:bytes)-&amp;gt;nbytes:int ===&lt;br /&gt;
Writes bytes to a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
: &amp;lt;code&amp;gt;data:bytes&amp;lt;/code&amp;gt;: Bytes to write&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;nbytes:int&amp;lt;/code&amp;gt;: The number of bytes written&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== fgets(fp:object, maxchars:int)-&amp;gt;line:str ===&lt;br /&gt;
Reads a line from the specified file, up to one less than the specified maximum&lt;br /&gt;
number of characters or up to and including the newline character, whichever&lt;br /&gt;
comes first.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;maxchars:int&amp;lt;/code&amp;gt;: The maximum number of characters to fetch&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;line:str&amp;lt;/code&amp;gt;: The fetched line&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== feof(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Tests a file to see if the end-of-file has been reached.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that the end-of-file has been reached&lt;br /&gt;
----&lt;br /&gt;
=== ferror(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Returns a nonzero integer if an error occurred while reading or writing a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that an error has occurred&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
&amp;lt;br&amp;gt;Provides functions to work with item lists.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates an empty item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:New empty item list&lt;br /&gt;
----&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list to be removed&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets the size of the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
;returns&lt;br /&gt;
:The size of the specified item list&lt;br /&gt;
----&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt;: type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value of the item&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value&lt;br /&gt;
----&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Hexadecimal string&lt;br /&gt;
----&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer if &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
: &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
;returns&lt;br /&gt;
:String&lt;br /&gt;
----&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the item list. This item will be interpreted as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value to store&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
: &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt;: amount of bytes&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value of the specified byte&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS RTL Library (LIB$)&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the directory to be created (following the OpenVMS naming conventions)&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: unsigned integer value of the owner UIC: &lt;br /&gt;
:*&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;: current user&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: owner of the parent directory&lt;br /&gt;
: &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt;: protection-enable. Refer to the &#039;&#039;&#039;VSI OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for more info about LIB$CREATE_DIR.&lt;br /&gt;
: &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt;: protection-value&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt;: one or more directories created&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt;: all the specified directories already exist&lt;br /&gt;
: Some other error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates the local event flag.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting event flag&lt;br /&gt;
----&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt;: local event flag&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt;: string to copy&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in a parseable format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting host node name&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt;, see the &#039;&#039;&#039;OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system-wide information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: node name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting cluster system ID&lt;br /&gt;
----&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
: &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name defined for the subprocess&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID of the spawned process&lt;br /&gt;
----&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
;returns&lt;br /&gt;
:If successful, it does not return control to the calling program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
: &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in the following format:&lt;br /&gt;
:*Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
:*Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting time value&lt;br /&gt;
----&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt;: identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting identifier name&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting context&lt;br /&gt;
----&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt;: the first bit specifies a permanent mailbox &lt;br /&gt;
: &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt;: maximum size of a message (in bytes)&lt;br /&gt;
: &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt;: number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt;: protection mask to be associated with the created mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
: &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt;: logical name to be assigned to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: mailbox channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt;: name of the device&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel&lt;br /&gt;
: &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt;: logical name of the mailbox to be associated with the device&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: an optional device-specific argument&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: number of the I/O channel to be unassigned&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt;: amount of bytes to read&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt;: resulting buffer&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt;: bytes to write&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: amount of written bytes&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel the I/O operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the table in which to create the logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of a logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be deleted&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt;: name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying search criteria&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: found device name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: UIC&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: UIC string&lt;br /&gt;
----&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt;: the name of the device for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the device is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification&lt;br /&gt;
: &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt;: name of the process&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
----&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt;: identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: lock identification&lt;br /&gt;
----&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt;: identification of the message to be retrieved&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: message string&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: optional information&lt;br /&gt;
----&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt;: function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context stream for this call&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt;: OpenVMS Cluster system identification&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: name of the node about which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: CSID&lt;br /&gt;
----&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: current system time&lt;br /&gt;
----&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user to get authorization information for&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int, reptim:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt;: time at which the process is to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;reptim:int&amp;lt;/code&amp;gt;: time interval at which the wakeup request is to be repeated&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: PID&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds the specified holder record to the target identifier.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: target identifier granted to the specified holder&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder identifier that is granted access to the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name to be added to the rights database&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: identifier to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;: identifier value assigned by the system&lt;br /&gt;
----&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder whose identifiers to be found&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: identifier value that was found&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt;: attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value to be cleared&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name of the process that is to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt;: completion code value to be used as the exit parameter&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: identifier of the holder being deleted&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the identifier deleted from rights database&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user whose UAF record is modified&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt;: description of an intruder or suspect&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;: user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;: quadword time format indicating the time when the record will expire&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;: the types of the matched record and the status of the suspect&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: number of login failures or break-in attempts&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;Oracle Rdb&#039;&#039;&#039; functions.&lt;br /&gt;
----&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the Rdb database in the OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt;: path or logical name&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt;: index&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting string&lt;br /&gt;
----&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name for the cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting cursor&lt;br /&gt;
----&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting error string&lt;br /&gt;
----&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt;: prepared SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success, end of stream&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as a list of strings.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:The list of strings&lt;br /&gt;
----&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
----&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Number of columns&lt;br /&gt;
----&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting prepared statement&lt;br /&gt;
----&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting SQL code&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== RMS ==&lt;br /&gt;
&amp;lt;br&amp;gt;Working with RMS.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== BCD2String(bcd:bytes, prec:int)-&amp;gt;str ===&lt;br /&gt;
Converts BCD to string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;bcd:bytes&amp;lt;/code&amp;gt;: bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: string representation of bcd&lt;br /&gt;
----&lt;br /&gt;
=== String2BCD(repr:str, l:int, prec:int)-&amp;gt;bytes ===&lt;br /&gt;
Converts string to BCD.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;repr:str&amp;lt;/code&amp;gt;: string representation of bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;l:int&amp;lt;/code&amp;gt;: length&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;bytes&amp;lt;/code&amp;gt;: bcd from string&lt;br /&gt;
----&lt;br /&gt;
=== BCD2Tuple(bcd:bytes, prec:int)-&amp;gt;tuple ===&lt;br /&gt;
Converts BCD to tuple: (sign, (digits,), precision).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;bcd:bytes&amp;lt;/code&amp;gt;: bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;tuple&amp;lt;/code&amp;gt;: bcd parsed to a tuple&lt;br /&gt;
----&lt;br /&gt;
=== Tuple2BCD(repr:tuple, l:int, prec:int)-&amp;gt;bytes ===&lt;br /&gt;
Converts tuple to BCD.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;repr:tuple&amp;lt;/code&amp;gt;: tuple representation of bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;l:int&amp;lt;/code&amp;gt;: length&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;bytes&amp;lt;/code&amp;gt;: bcd from tuple&lt;br /&gt;
----&lt;br /&gt;
=== getrmsattr(path:str, attr:int)-&amp;gt;int ===&lt;br /&gt;
Get RMS attribute.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: vms path to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attribute to retrieve&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attribute value&lt;br /&gt;
----&lt;br /&gt;
=== parse(path:str)-&amp;gt;tuple ===&lt;br /&gt;
Parse vms path to the tuple of bytes: (node, disk, directory, name, extension, version)&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: vms path to the file&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;tuple&amp;lt;/code&amp;gt;: parsed path&lt;br /&gt;
----&lt;br /&gt;
=== file(name:str, fac:int, shr:int, fop:int)-&amp;gt;rmsFile ===&lt;br /&gt;
Opens a file&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: vms path to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;fac:int&amp;lt;/code&amp;gt;: file access&lt;br /&gt;
: &amp;lt;code&amp;gt;shr:int&amp;lt;/code&amp;gt;: sharing options&lt;br /&gt;
: &amp;lt;code&amp;gt;fop:int&amp;lt;/code&amp;gt;: file-processing options&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;file:rmsFile&amp;lt;/code&amp;gt;: rmsFile object&lt;br /&gt;
----&lt;br /&gt;
=== RMS file object ===&lt;br /&gt;
&lt;br /&gt;
==== Members ====&lt;br /&gt;
===== longname =====&lt;br /&gt;
Full path to the file&lt;br /&gt;
===== nok =====&lt;br /&gt;
Number of keys&lt;br /&gt;
===== org =====&lt;br /&gt;
File organization&lt;br /&gt;
----&lt;br /&gt;
==== Methods ====&lt;br /&gt;
===== close =====&lt;br /&gt;
close() -&amp;gt; status&amp;lt;br&amp;gt;&lt;br /&gt;
Closes file.&lt;br /&gt;
----&lt;br /&gt;
===== delete =====&lt;br /&gt;
delete([key]) -&amp;gt; status&amp;lt;br&amp;gt;&lt;br /&gt;
Deletes the current record or the first record with the given key.&lt;br /&gt;
----&lt;br /&gt;
===== fetch =====&lt;br /&gt;
fetch([key]) -&amp;gt; status, record&amp;lt;br&amp;gt;&lt;br /&gt;
Retrieves the record from a file.&lt;br /&gt;
----&lt;br /&gt;
===== find =====&lt;br /&gt;
find([key]) -&amp;gt; status&amp;lt;br&amp;gt;&lt;br /&gt;
Locates the specified record and establishes it as the current record.&lt;br /&gt;
----&lt;br /&gt;
===== flush =====&lt;br /&gt;
flush() -&amp;gt; status&amp;lt;br&amp;gt;&lt;br /&gt;
Writes out all modified I/O buffers and file attributes associated with the file.&lt;br /&gt;
----&lt;br /&gt;
===== free =====&lt;br /&gt;
free() -&amp;gt; status&amp;lt;br&amp;gt;&lt;br /&gt;
Unlocks all records that were previously locked for the record stream.&lt;br /&gt;
----&lt;br /&gt;
===== put =====&lt;br /&gt;
put(record) -&amp;gt; status&amp;lt;br&amp;gt;&lt;br /&gt;
Inserts a record into a file.&lt;br /&gt;
----&lt;br /&gt;
===== release =====&lt;br /&gt;
release() -&amp;gt; status&amp;lt;br&amp;gt;&lt;br /&gt;
Unlocks the record.&lt;br /&gt;
----&lt;br /&gt;
===== rewind =====&lt;br /&gt;
rewind([keynum]) -&amp;gt; status&amp;lt;br&amp;gt;&lt;br /&gt;
Sets the context of a record stream to the first record in the file.&lt;br /&gt;
----&lt;br /&gt;
===== update =====&lt;br /&gt;
update(record) -&amp;gt; status&amp;lt;br&amp;gt;&lt;br /&gt;
Allows to modify the contents of an existing record in a file residing on a disk device.&lt;br /&gt;
----&lt;br /&gt;
===== usekey =====&lt;br /&gt;
use_key([keynum]) -&amp;gt; status&amp;lt;br&amp;gt;&lt;br /&gt;
Specifies the key or index to which the operation applies.&lt;br /&gt;
----&lt;br /&gt;
===== setrop =====&lt;br /&gt;
setrop(rop) -&amp;gt; status&amp;lt;br&amp;gt;&lt;br /&gt;
Specifies which of the various optional record operations are to be implemented for the program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* {{Template:CRuntime}}&lt;br /&gt;
* {{Template:RTLLibrary}}&lt;br /&gt;
* {{Template:SyservI}}&lt;br /&gt;
* {{Template:SyservII}}&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS Python]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2390</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2390"/>
		<updated>2021-07-16T07:23:11Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* RMS file object */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== vms.decc ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Checks if a shared image can be opened and loaded into memory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: path to the shared image&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: if the shared image exists and can be opened by dlopen()&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: otherwise&lt;br /&gt;
----&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the VMS time to the Unix time stamp.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: VMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Time in the Unix format (number of seconds since 01/01/1970)&lt;br /&gt;
----&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts the VMS path to a list of Unix paths.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt;: path in the VMS format (supports wildcards)&lt;br /&gt;
: &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
;returns&lt;br /&gt;
:List of paths in the Unix notation&lt;br /&gt;
----&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;VSI C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the environment variable&lt;br /&gt;
: &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt;: default value&lt;br /&gt;
;returns&lt;br /&gt;
:Environment variable value&lt;br /&gt;
----&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt;: seconds to sleep&lt;br /&gt;
;returns&lt;br /&gt;
:The number of seconds left before the sleep timer expires if sleep is interrupted. &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds&lt;br /&gt;
----&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt;: system variable to be queried&lt;br /&gt;
;returns&lt;br /&gt;
:Requested value&lt;br /&gt;
----&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts the UNIX style file specifications to the OpenVMS file specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt;: file name following the Unix file naming conventions&lt;br /&gt;
: &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
: &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
:* 0 - Directory allowed&lt;br /&gt;
:* 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
:* 2 - Force expansion of the string as a directory name&lt;br /&gt;
;returns&lt;br /&gt;
List of OpenVMS style pathnames&lt;br /&gt;
----&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the OpenVMS system time to the Unix local time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Unix time&lt;br /&gt;
----&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt;: Unix time&lt;br /&gt;
;returns&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
=== get_symbol(name:str)-&amp;gt;list ===&lt;br /&gt;
Requests the calling process’s command language interpreter (CLI) to return the value of a CLI symbol as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: Name of the symbol&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: value of the returned symbol&lt;br /&gt;
----&lt;br /&gt;
=== fopen(path:str, mode:str, ...)-&amp;gt;fp:object ===&lt;br /&gt;
Opens a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: A character string containing a valid file specification&lt;br /&gt;
: &amp;lt;code&amp;gt;mode:str&amp;lt;/code&amp;gt;: The access mode indicator&lt;br /&gt;
: &amp;lt;code&amp;gt;...:str&amp;lt;/code&amp;gt;: Optional file attribute arguments&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: File pointer&lt;br /&gt;
----&lt;br /&gt;
=== fclose(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Closes a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file to be closed&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== fileno(fp:object)-&amp;gt;fd:int ===&lt;br /&gt;
Returns the file descriptor associated with the specified file pointer.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
----&lt;br /&gt;
=== write(fd:int, data:bytes)-&amp;gt;nbytes:int ===&lt;br /&gt;
Writes bytes to a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
: &amp;lt;code&amp;gt;data:bytes&amp;lt;/code&amp;gt;: Bytes to write&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;nbytes:int&amp;lt;/code&amp;gt;: The number of bytes written&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== fgets(fp:object, maxchars:int)-&amp;gt;line:str ===&lt;br /&gt;
Reads a line from the specified file, up to one less than the specified maximum&lt;br /&gt;
number of characters or up to and including the newline character, whichever&lt;br /&gt;
comes first.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;maxchars:int&amp;lt;/code&amp;gt;: The maximum number of characters to fetch&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;line:str&amp;lt;/code&amp;gt;: The fetched line&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== feof(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Tests a file to see if the end-of-file has been reached.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that the end-of-file has been reached&lt;br /&gt;
----&lt;br /&gt;
=== ferror(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Returns a nonzero integer if an error occurred while reading or writing a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that an error has occurred&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
&amp;lt;br&amp;gt;Provides functions to work with item lists.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates an empty item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:New empty item list&lt;br /&gt;
----&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list to be removed&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets the size of the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
;returns&lt;br /&gt;
:The size of the specified item list&lt;br /&gt;
----&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt;: type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value of the item&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value&lt;br /&gt;
----&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Hexadecimal string&lt;br /&gt;
----&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer if &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
: &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
;returns&lt;br /&gt;
:String&lt;br /&gt;
----&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the item list. This item will be interpreted as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value to store&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
: &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt;: amount of bytes&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value of the specified byte&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS RTL Library (LIB$)&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the directory to be created (following the OpenVMS naming conventions)&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: unsigned integer value of the owner UIC: &lt;br /&gt;
:*&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;: current user&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: owner of the parent directory&lt;br /&gt;
: &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt;: protection-enable. Refer to the &#039;&#039;&#039;VSI OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for more info about LIB$CREATE_DIR.&lt;br /&gt;
: &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt;: protection-value&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt;: one or more directories created&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt;: all the specified directories already exist&lt;br /&gt;
: Some other error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates the local event flag.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting event flag&lt;br /&gt;
----&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt;: local event flag&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt;: string to copy&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in a parseable format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting host node name&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt;, see the &#039;&#039;&#039;OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system-wide information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: node name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting cluster system ID&lt;br /&gt;
----&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
: &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name defined for the subprocess&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID of the spawned process&lt;br /&gt;
----&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
;returns&lt;br /&gt;
:If successful, it does not return control to the calling program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
: &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in the following format:&lt;br /&gt;
:*Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
:*Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting time value&lt;br /&gt;
----&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt;: identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting identifier name&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting context&lt;br /&gt;
----&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt;: the first bit specifies a permanent mailbox &lt;br /&gt;
: &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt;: maximum size of a message (in bytes)&lt;br /&gt;
: &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt;: number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt;: protection mask to be associated with the created mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
: &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt;: logical name to be assigned to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: mailbox channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt;: name of the device&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel&lt;br /&gt;
: &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt;: logical name of the mailbox to be associated with the device&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: an optional device-specific argument&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: number of the I/O channel to be unassigned&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt;: amount of bytes to read&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt;: resulting buffer&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt;: bytes to write&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: amount of written bytes&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel the I/O operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the table in which to create the logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of a logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be deleted&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt;: name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying search criteria&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: found device name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: UIC&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: UIC string&lt;br /&gt;
----&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt;: the name of the device for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the device is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification&lt;br /&gt;
: &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt;: name of the process&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
----&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt;: identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: lock identification&lt;br /&gt;
----&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt;: identification of the message to be retrieved&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: message string&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: optional information&lt;br /&gt;
----&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt;: function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context stream for this call&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt;: OpenVMS Cluster system identification&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: name of the node about which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: CSID&lt;br /&gt;
----&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: current system time&lt;br /&gt;
----&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user to get authorization information for&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int, reptim:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt;: time at which the process is to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;reptim:int&amp;lt;/code&amp;gt;: time interval at which the wakeup request is to be repeated&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: PID&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds the specified holder record to the target identifier.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: target identifier granted to the specified holder&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder identifier that is granted access to the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name to be added to the rights database&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: identifier to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;: identifier value assigned by the system&lt;br /&gt;
----&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder whose identifiers to be found&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: identifier value that was found&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt;: attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value to be cleared&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name of the process that is to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt;: completion code value to be used as the exit parameter&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: identifier of the holder being deleted&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the identifier deleted from rights database&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user whose UAF record is modified&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt;: description of an intruder or suspect&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;: user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;: quadword time format indicating the time when the record will expire&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;: the types of the matched record and the status of the suspect&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: number of login failures or break-in attempts&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;Oracle Rdb&#039;&#039;&#039; functions.&lt;br /&gt;
----&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the Rdb database in the OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt;: path or logical name&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt;: index&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting string&lt;br /&gt;
----&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name for the cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting cursor&lt;br /&gt;
----&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting error string&lt;br /&gt;
----&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt;: prepared SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success, end of stream&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as a list of strings.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:The list of strings&lt;br /&gt;
----&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
----&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Number of columns&lt;br /&gt;
----&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting prepared statement&lt;br /&gt;
----&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting SQL code&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== RMS ==&lt;br /&gt;
&amp;lt;br&amp;gt;Working with RMS.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== BCD2String(bcd:bytes, prec:int)-&amp;gt;str ===&lt;br /&gt;
Converts BCD to string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;bcd:bytes&amp;lt;/code&amp;gt;: bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: string representation of bcd&lt;br /&gt;
----&lt;br /&gt;
=== String2BCD(repr:str, l:int, prec:int)-&amp;gt;bytes ===&lt;br /&gt;
Converts string to BCD.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;repr:str&amp;lt;/code&amp;gt;: string representation of bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;l:int&amp;lt;/code&amp;gt;: length&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;bytes&amp;lt;/code&amp;gt;: bcd from string&lt;br /&gt;
----&lt;br /&gt;
=== BCD2Tuple(bcd:bytes, prec:int)-&amp;gt;tuple ===&lt;br /&gt;
Converts BCD to tuple: (sign, (digits,), precision).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;bcd:bytes&amp;lt;/code&amp;gt;: bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;tuple&amp;lt;/code&amp;gt;: bcd parsed to a tuple&lt;br /&gt;
----&lt;br /&gt;
=== Tuple2BCD(repr:tuple, l:int, prec:int)-&amp;gt;bytes ===&lt;br /&gt;
Converts tuple to BCD.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;repr:tuple&amp;lt;/code&amp;gt;: tuple representation of bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;l:int&amp;lt;/code&amp;gt;: length&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;bytes&amp;lt;/code&amp;gt;: bcd from tuple&lt;br /&gt;
----&lt;br /&gt;
=== getrmsattr(path:str, attr:int)-&amp;gt;int ===&lt;br /&gt;
Get RMS attribute.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: vms path to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attribute to retrieve&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attribute value&lt;br /&gt;
----&lt;br /&gt;
=== parse(path:str)-&amp;gt;tuple ===&lt;br /&gt;
Parse vms path to the tuple of bytes: (node, disk, directory, name, extension, version)&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: vms path to the file&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;tuple&amp;lt;/code&amp;gt;: parsed path&lt;br /&gt;
----&lt;br /&gt;
=== file(name:str, fac:int, shr:int, fop:int)-&amp;gt;rmsFile ===&lt;br /&gt;
Opens a file&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: vms path to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;fac:int&amp;lt;/code&amp;gt;: file access&lt;br /&gt;
: &amp;lt;code&amp;gt;shr:int&amp;lt;/code&amp;gt;: sharing options&lt;br /&gt;
: &amp;lt;code&amp;gt;fop:int&amp;lt;/code&amp;gt;: file-processing options&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;file:rmsFile&amp;lt;/code&amp;gt;: rmsFile object&lt;br /&gt;
----&lt;br /&gt;
=== RMS file object ===&lt;br /&gt;
&lt;br /&gt;
==== Members ====&lt;br /&gt;
===== longname =====&lt;br /&gt;
Full path to the file&lt;br /&gt;
===== nok =====&lt;br /&gt;
Number of keys&lt;br /&gt;
===== org =====&lt;br /&gt;
File organization&lt;br /&gt;
----&lt;br /&gt;
==== Methods ====&lt;br /&gt;
===== close =====&lt;br /&gt;
close() -&amp;gt; status&lt;br /&gt;
Closes file.&lt;br /&gt;
----&lt;br /&gt;
===== delete =====&lt;br /&gt;
delete([key]) -&amp;gt; status&lt;br /&gt;
Deletes the current record or the first record with the given key.&lt;br /&gt;
----&lt;br /&gt;
===== fetch =====&lt;br /&gt;
fetch([key]) -&amp;gt; status, record&lt;br /&gt;
Retrieves the record from a file.&lt;br /&gt;
----&lt;br /&gt;
===== find =====&lt;br /&gt;
find([key]) -&amp;gt; status&lt;br /&gt;
Locates the specified record and establishes it as the current record.&lt;br /&gt;
----&lt;br /&gt;
===== flush =====&lt;br /&gt;
flush() -&amp;gt; status&lt;br /&gt;
Writes out all modified I/O buffers and file attributes associated with the file.&lt;br /&gt;
----&lt;br /&gt;
===== free =====&lt;br /&gt;
free() -&amp;gt; status&lt;br /&gt;
Unlocks all records that were previously locked for the record stream.&lt;br /&gt;
----&lt;br /&gt;
===== put =====&lt;br /&gt;
put(record) -&amp;gt; status&lt;br /&gt;
Inserts a record into a file.&lt;br /&gt;
----&lt;br /&gt;
===== release =====&lt;br /&gt;
release() -&amp;gt; status&lt;br /&gt;
Unlocks the record.&lt;br /&gt;
----&lt;br /&gt;
===== rewind =====&lt;br /&gt;
rewind([keynum]) -&amp;gt; status&lt;br /&gt;
Sets the context of a record stream to the first record in the file.&lt;br /&gt;
----&lt;br /&gt;
===== update =====&lt;br /&gt;
update(record) -&amp;gt; status&lt;br /&gt;
Allows to modify the contents of an existing record in a file residing on a disk device.&lt;br /&gt;
----&lt;br /&gt;
===== usekey =====&lt;br /&gt;
use_key([keynum]) -&amp;gt; status&lt;br /&gt;
Specifies the key or index to which the operation applies.&lt;br /&gt;
----&lt;br /&gt;
===== setrop =====&lt;br /&gt;
setrop(rop) -&amp;gt; status&lt;br /&gt;
Specifies which of the various optional record operations are to be implemented for the program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* {{Template:CRuntime}}&lt;br /&gt;
* {{Template:RTLLibrary}}&lt;br /&gt;
* {{Template:SyservI}}&lt;br /&gt;
* {{Template:SyservII}}&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS Python]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2389</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2389"/>
		<updated>2021-07-16T06:52:16Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* RMS file object */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== vms.decc ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Checks if a shared image can be opened and loaded into memory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: path to the shared image&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: if the shared image exists and can be opened by dlopen()&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: otherwise&lt;br /&gt;
----&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the VMS time to the Unix time stamp.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: VMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Time in the Unix format (number of seconds since 01/01/1970)&lt;br /&gt;
----&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts the VMS path to a list of Unix paths.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt;: path in the VMS format (supports wildcards)&lt;br /&gt;
: &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
;returns&lt;br /&gt;
:List of paths in the Unix notation&lt;br /&gt;
----&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;VSI C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the environment variable&lt;br /&gt;
: &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt;: default value&lt;br /&gt;
;returns&lt;br /&gt;
:Environment variable value&lt;br /&gt;
----&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt;: seconds to sleep&lt;br /&gt;
;returns&lt;br /&gt;
:The number of seconds left before the sleep timer expires if sleep is interrupted. &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds&lt;br /&gt;
----&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt;: system variable to be queried&lt;br /&gt;
;returns&lt;br /&gt;
:Requested value&lt;br /&gt;
----&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts the UNIX style file specifications to the OpenVMS file specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt;: file name following the Unix file naming conventions&lt;br /&gt;
: &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
: &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
:* 0 - Directory allowed&lt;br /&gt;
:* 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
:* 2 - Force expansion of the string as a directory name&lt;br /&gt;
;returns&lt;br /&gt;
List of OpenVMS style pathnames&lt;br /&gt;
----&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the OpenVMS system time to the Unix local time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Unix time&lt;br /&gt;
----&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt;: Unix time&lt;br /&gt;
;returns&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
=== get_symbol(name:str)-&amp;gt;list ===&lt;br /&gt;
Requests the calling process’s command language interpreter (CLI) to return the value of a CLI symbol as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: Name of the symbol&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: value of the returned symbol&lt;br /&gt;
----&lt;br /&gt;
=== fopen(path:str, mode:str, ...)-&amp;gt;fp:object ===&lt;br /&gt;
Opens a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: A character string containing a valid file specification&lt;br /&gt;
: &amp;lt;code&amp;gt;mode:str&amp;lt;/code&amp;gt;: The access mode indicator&lt;br /&gt;
: &amp;lt;code&amp;gt;...:str&amp;lt;/code&amp;gt;: Optional file attribute arguments&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: File pointer&lt;br /&gt;
----&lt;br /&gt;
=== fclose(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Closes a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file to be closed&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== fileno(fp:object)-&amp;gt;fd:int ===&lt;br /&gt;
Returns the file descriptor associated with the specified file pointer.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
----&lt;br /&gt;
=== write(fd:int, data:bytes)-&amp;gt;nbytes:int ===&lt;br /&gt;
Writes bytes to a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
: &amp;lt;code&amp;gt;data:bytes&amp;lt;/code&amp;gt;: Bytes to write&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;nbytes:int&amp;lt;/code&amp;gt;: The number of bytes written&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== fgets(fp:object, maxchars:int)-&amp;gt;line:str ===&lt;br /&gt;
Reads a line from the specified file, up to one less than the specified maximum&lt;br /&gt;
number of characters or up to and including the newline character, whichever&lt;br /&gt;
comes first.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;maxchars:int&amp;lt;/code&amp;gt;: The maximum number of characters to fetch&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;line:str&amp;lt;/code&amp;gt;: The fetched line&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== feof(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Tests a file to see if the end-of-file has been reached.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that the end-of-file has been reached&lt;br /&gt;
----&lt;br /&gt;
=== ferror(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Returns a nonzero integer if an error occurred while reading or writing a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that an error has occurred&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
&amp;lt;br&amp;gt;Provides functions to work with item lists.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates an empty item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:New empty item list&lt;br /&gt;
----&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list to be removed&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets the size of the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
;returns&lt;br /&gt;
:The size of the specified item list&lt;br /&gt;
----&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt;: type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value of the item&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value&lt;br /&gt;
----&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Hexadecimal string&lt;br /&gt;
----&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer if &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
: &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
;returns&lt;br /&gt;
:String&lt;br /&gt;
----&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the item list. This item will be interpreted as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value to store&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
: &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt;: amount of bytes&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value of the specified byte&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS RTL Library (LIB$)&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the directory to be created (following the OpenVMS naming conventions)&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: unsigned integer value of the owner UIC: &lt;br /&gt;
:*&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;: current user&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: owner of the parent directory&lt;br /&gt;
: &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt;: protection-enable. Refer to the &#039;&#039;&#039;VSI OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for more info about LIB$CREATE_DIR.&lt;br /&gt;
: &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt;: protection-value&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt;: one or more directories created&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt;: all the specified directories already exist&lt;br /&gt;
: Some other error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates the local event flag.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting event flag&lt;br /&gt;
----&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt;: local event flag&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt;: string to copy&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in a parseable format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting host node name&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt;, see the &#039;&#039;&#039;OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system-wide information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: node name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting cluster system ID&lt;br /&gt;
----&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
: &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name defined for the subprocess&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID of the spawned process&lt;br /&gt;
----&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
;returns&lt;br /&gt;
:If successful, it does not return control to the calling program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
: &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in the following format:&lt;br /&gt;
:*Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
:*Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting time value&lt;br /&gt;
----&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt;: identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting identifier name&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting context&lt;br /&gt;
----&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt;: the first bit specifies a permanent mailbox &lt;br /&gt;
: &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt;: maximum size of a message (in bytes)&lt;br /&gt;
: &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt;: number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt;: protection mask to be associated with the created mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
: &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt;: logical name to be assigned to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: mailbox channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt;: name of the device&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel&lt;br /&gt;
: &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt;: logical name of the mailbox to be associated with the device&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: an optional device-specific argument&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: number of the I/O channel to be unassigned&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt;: amount of bytes to read&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt;: resulting buffer&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt;: bytes to write&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: amount of written bytes&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel the I/O operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the table in which to create the logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of a logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be deleted&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt;: name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying search criteria&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: found device name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: UIC&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: UIC string&lt;br /&gt;
----&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt;: the name of the device for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the device is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification&lt;br /&gt;
: &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt;: name of the process&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
----&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt;: identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: lock identification&lt;br /&gt;
----&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt;: identification of the message to be retrieved&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: message string&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: optional information&lt;br /&gt;
----&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt;: function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context stream for this call&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt;: OpenVMS Cluster system identification&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: name of the node about which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: CSID&lt;br /&gt;
----&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: current system time&lt;br /&gt;
----&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user to get authorization information for&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int, reptim:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt;: time at which the process is to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;reptim:int&amp;lt;/code&amp;gt;: time interval at which the wakeup request is to be repeated&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: PID&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds the specified holder record to the target identifier.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: target identifier granted to the specified holder&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder identifier that is granted access to the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name to be added to the rights database&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: identifier to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;: identifier value assigned by the system&lt;br /&gt;
----&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder whose identifiers to be found&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: identifier value that was found&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt;: attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value to be cleared&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name of the process that is to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt;: completion code value to be used as the exit parameter&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: identifier of the holder being deleted&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the identifier deleted from rights database&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user whose UAF record is modified&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt;: description of an intruder or suspect&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;: user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;: quadword time format indicating the time when the record will expire&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;: the types of the matched record and the status of the suspect&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: number of login failures or break-in attempts&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;Oracle Rdb&#039;&#039;&#039; functions.&lt;br /&gt;
----&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the Rdb database in the OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt;: path or logical name&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt;: index&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting string&lt;br /&gt;
----&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name for the cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting cursor&lt;br /&gt;
----&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting error string&lt;br /&gt;
----&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt;: prepared SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success, end of stream&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as a list of strings.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:The list of strings&lt;br /&gt;
----&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
----&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Number of columns&lt;br /&gt;
----&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting prepared statement&lt;br /&gt;
----&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting SQL code&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== RMS ==&lt;br /&gt;
&amp;lt;br&amp;gt;Working with RMS.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== BCD2String(bcd:bytes, prec:int)-&amp;gt;str ===&lt;br /&gt;
Converts BCD to string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;bcd:bytes&amp;lt;/code&amp;gt;: bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: string representation of bcd&lt;br /&gt;
----&lt;br /&gt;
=== String2BCD(repr:str, l:int, prec:int)-&amp;gt;bytes ===&lt;br /&gt;
Converts string to BCD.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;repr:str&amp;lt;/code&amp;gt;: string representation of bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;l:int&amp;lt;/code&amp;gt;: length&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;bytes&amp;lt;/code&amp;gt;: bcd from string&lt;br /&gt;
----&lt;br /&gt;
=== BCD2Tuple(bcd:bytes, prec:int)-&amp;gt;tuple ===&lt;br /&gt;
Converts BCD to tuple: (sign, (digits,), precision).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;bcd:bytes&amp;lt;/code&amp;gt;: bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;tuple&amp;lt;/code&amp;gt;: bcd parsed to a tuple&lt;br /&gt;
----&lt;br /&gt;
=== Tuple2BCD(repr:tuple, l:int, prec:int)-&amp;gt;bytes ===&lt;br /&gt;
Converts tuple to BCD.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;repr:tuple&amp;lt;/code&amp;gt;: tuple representation of bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;l:int&amp;lt;/code&amp;gt;: length&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;bytes&amp;lt;/code&amp;gt;: bcd from tuple&lt;br /&gt;
----&lt;br /&gt;
=== getrmsattr(path:str, attr:int)-&amp;gt;int ===&lt;br /&gt;
Get RMS attribute.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: vms path to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attribute to retrieve&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attribute value&lt;br /&gt;
----&lt;br /&gt;
=== parse(path:str)-&amp;gt;tuple ===&lt;br /&gt;
Parse vms path to the tuple of bytes: (node, disk, directory, name, extension, version)&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: vms path to the file&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;tuple&amp;lt;/code&amp;gt;: parsed path&lt;br /&gt;
----&lt;br /&gt;
=== file(name:str, fac:int, shr:int, fop:int)-&amp;gt;rmsFile ===&lt;br /&gt;
Opens a file&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: vms path to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;fac:int&amp;lt;/code&amp;gt;: file access&lt;br /&gt;
: &amp;lt;code&amp;gt;shr:int&amp;lt;/code&amp;gt;: sharing options&lt;br /&gt;
: &amp;lt;code&amp;gt;fop:int&amp;lt;/code&amp;gt;: file-processing options&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;file:rmsFile&amp;lt;/code&amp;gt;: rmsFile object&lt;br /&gt;
----&lt;br /&gt;
=== RMS file object ===&lt;br /&gt;
&lt;br /&gt;
==== Members ====&lt;br /&gt;
===== longname =====&lt;br /&gt;
long filename&lt;br /&gt;
===== nok =====&lt;br /&gt;
number of keys&lt;br /&gt;
===== org =====&lt;br /&gt;
file organization&lt;br /&gt;
----&lt;br /&gt;
==== Methods ====&lt;br /&gt;
===== close =====&lt;br /&gt;
close() -&amp;gt; status&lt;br /&gt;
----&lt;br /&gt;
===== delete =====&lt;br /&gt;
delete([key]) -&amp;gt; status&lt;br /&gt;
----&lt;br /&gt;
===== fetch =====&lt;br /&gt;
get([key]) -&amp;gt; status, record&lt;br /&gt;
----&lt;br /&gt;
===== find =====&lt;br /&gt;
find([key]) -&amp;gt; status&lt;br /&gt;
----&lt;br /&gt;
===== flush =====&lt;br /&gt;
flush() -&amp;gt; status&lt;br /&gt;
----&lt;br /&gt;
===== free =====&lt;br /&gt;
free() -&amp;gt; status&lt;br /&gt;
----&lt;br /&gt;
===== put =====&lt;br /&gt;
put(record) -&amp;gt; status&lt;br /&gt;
----&lt;br /&gt;
===== release =====&lt;br /&gt;
release() -&amp;gt; status&lt;br /&gt;
----&lt;br /&gt;
===== rewind =====&lt;br /&gt;
rewind([keynum]) -&amp;gt; status&lt;br /&gt;
----&lt;br /&gt;
===== update =====&lt;br /&gt;
update(record) -&amp;gt; status&lt;br /&gt;
----&lt;br /&gt;
===== usekey =====&lt;br /&gt;
use_key([keynum]) -&amp;gt; status&lt;br /&gt;
----&lt;br /&gt;
===== setrop =====&lt;br /&gt;
setrop(rop) -&amp;gt; status&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* {{Template:CRuntime}}&lt;br /&gt;
* {{Template:RTLLibrary}}&lt;br /&gt;
* {{Template:SyservI}}&lt;br /&gt;
* {{Template:SyservII}}&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS Python]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2388</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2388"/>
		<updated>2021-07-16T06:50:02Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* RMS file object */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== vms.decc ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Checks if a shared image can be opened and loaded into memory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: path to the shared image&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: if the shared image exists and can be opened by dlopen()&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: otherwise&lt;br /&gt;
----&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the VMS time to the Unix time stamp.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: VMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Time in the Unix format (number of seconds since 01/01/1970)&lt;br /&gt;
----&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts the VMS path to a list of Unix paths.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt;: path in the VMS format (supports wildcards)&lt;br /&gt;
: &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
;returns&lt;br /&gt;
:List of paths in the Unix notation&lt;br /&gt;
----&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;VSI C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the environment variable&lt;br /&gt;
: &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt;: default value&lt;br /&gt;
;returns&lt;br /&gt;
:Environment variable value&lt;br /&gt;
----&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt;: seconds to sleep&lt;br /&gt;
;returns&lt;br /&gt;
:The number of seconds left before the sleep timer expires if sleep is interrupted. &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds&lt;br /&gt;
----&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt;: system variable to be queried&lt;br /&gt;
;returns&lt;br /&gt;
:Requested value&lt;br /&gt;
----&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts the UNIX style file specifications to the OpenVMS file specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt;: file name following the Unix file naming conventions&lt;br /&gt;
: &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
: &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
:* 0 - Directory allowed&lt;br /&gt;
:* 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
:* 2 - Force expansion of the string as a directory name&lt;br /&gt;
;returns&lt;br /&gt;
List of OpenVMS style pathnames&lt;br /&gt;
----&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the OpenVMS system time to the Unix local time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Unix time&lt;br /&gt;
----&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt;: Unix time&lt;br /&gt;
;returns&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
=== get_symbol(name:str)-&amp;gt;list ===&lt;br /&gt;
Requests the calling process’s command language interpreter (CLI) to return the value of a CLI symbol as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: Name of the symbol&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: value of the returned symbol&lt;br /&gt;
----&lt;br /&gt;
=== fopen(path:str, mode:str, ...)-&amp;gt;fp:object ===&lt;br /&gt;
Opens a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: A character string containing a valid file specification&lt;br /&gt;
: &amp;lt;code&amp;gt;mode:str&amp;lt;/code&amp;gt;: The access mode indicator&lt;br /&gt;
: &amp;lt;code&amp;gt;...:str&amp;lt;/code&amp;gt;: Optional file attribute arguments&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: File pointer&lt;br /&gt;
----&lt;br /&gt;
=== fclose(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Closes a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file to be closed&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== fileno(fp:object)-&amp;gt;fd:int ===&lt;br /&gt;
Returns the file descriptor associated with the specified file pointer.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
----&lt;br /&gt;
=== write(fd:int, data:bytes)-&amp;gt;nbytes:int ===&lt;br /&gt;
Writes bytes to a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
: &amp;lt;code&amp;gt;data:bytes&amp;lt;/code&amp;gt;: Bytes to write&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;nbytes:int&amp;lt;/code&amp;gt;: The number of bytes written&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== fgets(fp:object, maxchars:int)-&amp;gt;line:str ===&lt;br /&gt;
Reads a line from the specified file, up to one less than the specified maximum&lt;br /&gt;
number of characters or up to and including the newline character, whichever&lt;br /&gt;
comes first.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;maxchars:int&amp;lt;/code&amp;gt;: The maximum number of characters to fetch&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;line:str&amp;lt;/code&amp;gt;: The fetched line&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== feof(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Tests a file to see if the end-of-file has been reached.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that the end-of-file has been reached&lt;br /&gt;
----&lt;br /&gt;
=== ferror(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Returns a nonzero integer if an error occurred while reading or writing a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that an error has occurred&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
&amp;lt;br&amp;gt;Provides functions to work with item lists.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates an empty item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:New empty item list&lt;br /&gt;
----&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list to be removed&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets the size of the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
;returns&lt;br /&gt;
:The size of the specified item list&lt;br /&gt;
----&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt;: type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value of the item&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value&lt;br /&gt;
----&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Hexadecimal string&lt;br /&gt;
----&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer if &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
: &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
;returns&lt;br /&gt;
:String&lt;br /&gt;
----&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the item list. This item will be interpreted as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value to store&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
: &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt;: amount of bytes&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value of the specified byte&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS RTL Library (LIB$)&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the directory to be created (following the OpenVMS naming conventions)&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: unsigned integer value of the owner UIC: &lt;br /&gt;
:*&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;: current user&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: owner of the parent directory&lt;br /&gt;
: &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt;: protection-enable. Refer to the &#039;&#039;&#039;VSI OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for more info about LIB$CREATE_DIR.&lt;br /&gt;
: &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt;: protection-value&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt;: one or more directories created&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt;: all the specified directories already exist&lt;br /&gt;
: Some other error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates the local event flag.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting event flag&lt;br /&gt;
----&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt;: local event flag&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt;: string to copy&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in a parseable format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting host node name&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt;, see the &#039;&#039;&#039;OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system-wide information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: node name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting cluster system ID&lt;br /&gt;
----&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
: &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name defined for the subprocess&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID of the spawned process&lt;br /&gt;
----&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
;returns&lt;br /&gt;
:If successful, it does not return control to the calling program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
: &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in the following format:&lt;br /&gt;
:*Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
:*Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting time value&lt;br /&gt;
----&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt;: identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting identifier name&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting context&lt;br /&gt;
----&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt;: the first bit specifies a permanent mailbox &lt;br /&gt;
: &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt;: maximum size of a message (in bytes)&lt;br /&gt;
: &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt;: number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt;: protection mask to be associated with the created mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
: &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt;: logical name to be assigned to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: mailbox channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt;: name of the device&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel&lt;br /&gt;
: &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt;: logical name of the mailbox to be associated with the device&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: an optional device-specific argument&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: number of the I/O channel to be unassigned&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt;: amount of bytes to read&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt;: resulting buffer&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt;: bytes to write&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: amount of written bytes&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel the I/O operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the table in which to create the logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of a logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be deleted&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt;: name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying search criteria&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: found device name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: UIC&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: UIC string&lt;br /&gt;
----&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt;: the name of the device for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the device is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification&lt;br /&gt;
: &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt;: name of the process&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
----&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt;: identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: lock identification&lt;br /&gt;
----&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt;: identification of the message to be retrieved&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: message string&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: optional information&lt;br /&gt;
----&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt;: function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context stream for this call&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt;: OpenVMS Cluster system identification&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: name of the node about which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: CSID&lt;br /&gt;
----&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: current system time&lt;br /&gt;
----&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user to get authorization information for&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int, reptim:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt;: time at which the process is to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;reptim:int&amp;lt;/code&amp;gt;: time interval at which the wakeup request is to be repeated&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: PID&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds the specified holder record to the target identifier.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: target identifier granted to the specified holder&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder identifier that is granted access to the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name to be added to the rights database&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: identifier to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;: identifier value assigned by the system&lt;br /&gt;
----&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder whose identifiers to be found&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: identifier value that was found&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt;: attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value to be cleared&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name of the process that is to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt;: completion code value to be used as the exit parameter&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: identifier of the holder being deleted&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the identifier deleted from rights database&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user whose UAF record is modified&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt;: description of an intruder or suspect&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;: user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;: quadword time format indicating the time when the record will expire&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;: the types of the matched record and the status of the suspect&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: number of login failures or break-in attempts&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;Oracle Rdb&#039;&#039;&#039; functions.&lt;br /&gt;
----&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the Rdb database in the OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt;: path or logical name&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt;: index&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting string&lt;br /&gt;
----&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name for the cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting cursor&lt;br /&gt;
----&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting error string&lt;br /&gt;
----&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt;: prepared SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success, end of stream&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as a list of strings.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:The list of strings&lt;br /&gt;
----&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
----&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Number of columns&lt;br /&gt;
----&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting prepared statement&lt;br /&gt;
----&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting SQL code&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== RMS ==&lt;br /&gt;
&amp;lt;br&amp;gt;Working with RMS.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== BCD2String(bcd:bytes, prec:int)-&amp;gt;str ===&lt;br /&gt;
Converts BCD to string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;bcd:bytes&amp;lt;/code&amp;gt;: bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: string representation of bcd&lt;br /&gt;
----&lt;br /&gt;
=== String2BCD(repr:str, l:int, prec:int)-&amp;gt;bytes ===&lt;br /&gt;
Converts string to BCD.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;repr:str&amp;lt;/code&amp;gt;: string representation of bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;l:int&amp;lt;/code&amp;gt;: length&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;bytes&amp;lt;/code&amp;gt;: bcd from string&lt;br /&gt;
----&lt;br /&gt;
=== BCD2Tuple(bcd:bytes, prec:int)-&amp;gt;tuple ===&lt;br /&gt;
Converts BCD to tuple: (sign, (digits,), precision).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;bcd:bytes&amp;lt;/code&amp;gt;: bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;tuple&amp;lt;/code&amp;gt;: bcd parsed to a tuple&lt;br /&gt;
----&lt;br /&gt;
=== Tuple2BCD(repr:tuple, l:int, prec:int)-&amp;gt;bytes ===&lt;br /&gt;
Converts tuple to BCD.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;repr:tuple&amp;lt;/code&amp;gt;: tuple representation of bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;l:int&amp;lt;/code&amp;gt;: length&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;bytes&amp;lt;/code&amp;gt;: bcd from tuple&lt;br /&gt;
----&lt;br /&gt;
=== getrmsattr(path:str, attr:int)-&amp;gt;int ===&lt;br /&gt;
Get RMS attribute.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: vms path to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attribute to retrieve&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attribute value&lt;br /&gt;
----&lt;br /&gt;
=== parse(path:str)-&amp;gt;tuple ===&lt;br /&gt;
Parse vms path to the tuple of bytes: (node, disk, directory, name, extension, version)&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: vms path to the file&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;tuple&amp;lt;/code&amp;gt;: parsed path&lt;br /&gt;
----&lt;br /&gt;
=== file(name:str, fac:int, shr:int, fop:int)-&amp;gt;rmsFile ===&lt;br /&gt;
Opens a file&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: vms path to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;fac:int&amp;lt;/code&amp;gt;: file access&lt;br /&gt;
: &amp;lt;code&amp;gt;shr:int&amp;lt;/code&amp;gt;: sharing options&lt;br /&gt;
: &amp;lt;code&amp;gt;fop:int&amp;lt;/code&amp;gt;: file-processing options&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;file:rmsFile&amp;lt;/code&amp;gt;: rmsFile object&lt;br /&gt;
----&lt;br /&gt;
=== RMS file object ===&lt;br /&gt;
&lt;br /&gt;
Members&lt;br /&gt;
==== longname ====&lt;br /&gt;
long filename&lt;br /&gt;
==== nok ====&lt;br /&gt;
number of keys&lt;br /&gt;
==== org ====&lt;br /&gt;
file organization&lt;br /&gt;
----&lt;br /&gt;
Methods&lt;br /&gt;
==== close ====&lt;br /&gt;
close() -&amp;gt; status&lt;br /&gt;
==== delete ====&lt;br /&gt;
delete([key]) -&amp;gt; status&lt;br /&gt;
==== fetch ====&lt;br /&gt;
get([key]) -&amp;gt; status, record&lt;br /&gt;
==== find ====&lt;br /&gt;
find([key]) -&amp;gt; status&lt;br /&gt;
==== flush ====&lt;br /&gt;
flush() -&amp;gt; status&lt;br /&gt;
==== free ====&lt;br /&gt;
free() -&amp;gt; status&lt;br /&gt;
==== put ====&lt;br /&gt;
put(record) -&amp;gt; status&lt;br /&gt;
==== release ====&lt;br /&gt;
release() -&amp;gt; status&lt;br /&gt;
==== rewind ====&lt;br /&gt;
rewind([keynum]) -&amp;gt; status&lt;br /&gt;
==== update ====&lt;br /&gt;
update(record) -&amp;gt; status&lt;br /&gt;
==== usekey ====&lt;br /&gt;
use_key([keynum]) -&amp;gt; status&lt;br /&gt;
==== setrop ====&lt;br /&gt;
setrop(rop) -&amp;gt; status&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* {{Template:CRuntime}}&lt;br /&gt;
* {{Template:RTLLibrary}}&lt;br /&gt;
* {{Template:SyservI}}&lt;br /&gt;
* {{Template:SyservII}}&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS Python]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2387</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2387"/>
		<updated>2021-07-16T06:49:39Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* RMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== vms.decc ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Checks if a shared image can be opened and loaded into memory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: path to the shared image&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: if the shared image exists and can be opened by dlopen()&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: otherwise&lt;br /&gt;
----&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the VMS time to the Unix time stamp.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: VMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Time in the Unix format (number of seconds since 01/01/1970)&lt;br /&gt;
----&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts the VMS path to a list of Unix paths.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt;: path in the VMS format (supports wildcards)&lt;br /&gt;
: &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
;returns&lt;br /&gt;
:List of paths in the Unix notation&lt;br /&gt;
----&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;VSI C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the environment variable&lt;br /&gt;
: &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt;: default value&lt;br /&gt;
;returns&lt;br /&gt;
:Environment variable value&lt;br /&gt;
----&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt;: seconds to sleep&lt;br /&gt;
;returns&lt;br /&gt;
:The number of seconds left before the sleep timer expires if sleep is interrupted. &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds&lt;br /&gt;
----&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt;: system variable to be queried&lt;br /&gt;
;returns&lt;br /&gt;
:Requested value&lt;br /&gt;
----&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts the UNIX style file specifications to the OpenVMS file specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt;: file name following the Unix file naming conventions&lt;br /&gt;
: &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
: &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
:* 0 - Directory allowed&lt;br /&gt;
:* 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
:* 2 - Force expansion of the string as a directory name&lt;br /&gt;
;returns&lt;br /&gt;
List of OpenVMS style pathnames&lt;br /&gt;
----&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the OpenVMS system time to the Unix local time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Unix time&lt;br /&gt;
----&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt;: Unix time&lt;br /&gt;
;returns&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
=== get_symbol(name:str)-&amp;gt;list ===&lt;br /&gt;
Requests the calling process’s command language interpreter (CLI) to return the value of a CLI symbol as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: Name of the symbol&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: value of the returned symbol&lt;br /&gt;
----&lt;br /&gt;
=== fopen(path:str, mode:str, ...)-&amp;gt;fp:object ===&lt;br /&gt;
Opens a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: A character string containing a valid file specification&lt;br /&gt;
: &amp;lt;code&amp;gt;mode:str&amp;lt;/code&amp;gt;: The access mode indicator&lt;br /&gt;
: &amp;lt;code&amp;gt;...:str&amp;lt;/code&amp;gt;: Optional file attribute arguments&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: File pointer&lt;br /&gt;
----&lt;br /&gt;
=== fclose(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Closes a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file to be closed&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== fileno(fp:object)-&amp;gt;fd:int ===&lt;br /&gt;
Returns the file descriptor associated with the specified file pointer.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
----&lt;br /&gt;
=== write(fd:int, data:bytes)-&amp;gt;nbytes:int ===&lt;br /&gt;
Writes bytes to a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
: &amp;lt;code&amp;gt;data:bytes&amp;lt;/code&amp;gt;: Bytes to write&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;nbytes:int&amp;lt;/code&amp;gt;: The number of bytes written&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== fgets(fp:object, maxchars:int)-&amp;gt;line:str ===&lt;br /&gt;
Reads a line from the specified file, up to one less than the specified maximum&lt;br /&gt;
number of characters or up to and including the newline character, whichever&lt;br /&gt;
comes first.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;maxchars:int&amp;lt;/code&amp;gt;: The maximum number of characters to fetch&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;line:str&amp;lt;/code&amp;gt;: The fetched line&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== feof(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Tests a file to see if the end-of-file has been reached.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that the end-of-file has been reached&lt;br /&gt;
----&lt;br /&gt;
=== ferror(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Returns a nonzero integer if an error occurred while reading or writing a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that an error has occurred&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
&amp;lt;br&amp;gt;Provides functions to work with item lists.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates an empty item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:New empty item list&lt;br /&gt;
----&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list to be removed&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets the size of the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
;returns&lt;br /&gt;
:The size of the specified item list&lt;br /&gt;
----&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt;: type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value of the item&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value&lt;br /&gt;
----&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Hexadecimal string&lt;br /&gt;
----&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer if &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
: &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
;returns&lt;br /&gt;
:String&lt;br /&gt;
----&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the item list. This item will be interpreted as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value to store&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
: &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt;: amount of bytes&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value of the specified byte&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS RTL Library (LIB$)&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the directory to be created (following the OpenVMS naming conventions)&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: unsigned integer value of the owner UIC: &lt;br /&gt;
:*&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;: current user&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: owner of the parent directory&lt;br /&gt;
: &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt;: protection-enable. Refer to the &#039;&#039;&#039;VSI OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for more info about LIB$CREATE_DIR.&lt;br /&gt;
: &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt;: protection-value&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt;: one or more directories created&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt;: all the specified directories already exist&lt;br /&gt;
: Some other error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates the local event flag.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting event flag&lt;br /&gt;
----&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt;: local event flag&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt;: string to copy&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in a parseable format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting host node name&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt;, see the &#039;&#039;&#039;OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system-wide information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: node name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting cluster system ID&lt;br /&gt;
----&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
: &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name defined for the subprocess&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID of the spawned process&lt;br /&gt;
----&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
;returns&lt;br /&gt;
:If successful, it does not return control to the calling program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
: &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in the following format:&lt;br /&gt;
:*Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
:*Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting time value&lt;br /&gt;
----&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt;: identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting identifier name&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting context&lt;br /&gt;
----&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt;: the first bit specifies a permanent mailbox &lt;br /&gt;
: &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt;: maximum size of a message (in bytes)&lt;br /&gt;
: &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt;: number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt;: protection mask to be associated with the created mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
: &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt;: logical name to be assigned to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: mailbox channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt;: name of the device&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel&lt;br /&gt;
: &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt;: logical name of the mailbox to be associated with the device&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: an optional device-specific argument&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: number of the I/O channel to be unassigned&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt;: amount of bytes to read&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt;: resulting buffer&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt;: bytes to write&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: amount of written bytes&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel the I/O operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the table in which to create the logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of a logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be deleted&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt;: name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying search criteria&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: found device name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: UIC&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: UIC string&lt;br /&gt;
----&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt;: the name of the device for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the device is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification&lt;br /&gt;
: &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt;: name of the process&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
----&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt;: identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: lock identification&lt;br /&gt;
----&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt;: identification of the message to be retrieved&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: message string&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: optional information&lt;br /&gt;
----&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt;: function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context stream for this call&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt;: OpenVMS Cluster system identification&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: name of the node about which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: CSID&lt;br /&gt;
----&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: current system time&lt;br /&gt;
----&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user to get authorization information for&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int, reptim:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt;: time at which the process is to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;reptim:int&amp;lt;/code&amp;gt;: time interval at which the wakeup request is to be repeated&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: PID&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds the specified holder record to the target identifier.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: target identifier granted to the specified holder&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder identifier that is granted access to the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name to be added to the rights database&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: identifier to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;: identifier value assigned by the system&lt;br /&gt;
----&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder whose identifiers to be found&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: identifier value that was found&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt;: attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value to be cleared&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name of the process that is to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt;: completion code value to be used as the exit parameter&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: identifier of the holder being deleted&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the identifier deleted from rights database&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user whose UAF record is modified&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt;: description of an intruder or suspect&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;: user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;: quadword time format indicating the time when the record will expire&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;: the types of the matched record and the status of the suspect&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: number of login failures or break-in attempts&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;Oracle Rdb&#039;&#039;&#039; functions.&lt;br /&gt;
----&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the Rdb database in the OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt;: path or logical name&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt;: index&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting string&lt;br /&gt;
----&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name for the cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting cursor&lt;br /&gt;
----&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting error string&lt;br /&gt;
----&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt;: prepared SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success, end of stream&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as a list of strings.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:The list of strings&lt;br /&gt;
----&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
----&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Number of columns&lt;br /&gt;
----&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting prepared statement&lt;br /&gt;
----&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting SQL code&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== RMS ==&lt;br /&gt;
&amp;lt;br&amp;gt;Working with RMS.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== BCD2String(bcd:bytes, prec:int)-&amp;gt;str ===&lt;br /&gt;
Converts BCD to string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;bcd:bytes&amp;lt;/code&amp;gt;: bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: string representation of bcd&lt;br /&gt;
----&lt;br /&gt;
=== String2BCD(repr:str, l:int, prec:int)-&amp;gt;bytes ===&lt;br /&gt;
Converts string to BCD.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;repr:str&amp;lt;/code&amp;gt;: string representation of bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;l:int&amp;lt;/code&amp;gt;: length&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;bytes&amp;lt;/code&amp;gt;: bcd from string&lt;br /&gt;
----&lt;br /&gt;
=== BCD2Tuple(bcd:bytes, prec:int)-&amp;gt;tuple ===&lt;br /&gt;
Converts BCD to tuple: (sign, (digits,), precision).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;bcd:bytes&amp;lt;/code&amp;gt;: bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;tuple&amp;lt;/code&amp;gt;: bcd parsed to a tuple&lt;br /&gt;
----&lt;br /&gt;
=== Tuple2BCD(repr:tuple, l:int, prec:int)-&amp;gt;bytes ===&lt;br /&gt;
Converts tuple to BCD.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;repr:tuple&amp;lt;/code&amp;gt;: tuple representation of bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;l:int&amp;lt;/code&amp;gt;: length&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;bytes&amp;lt;/code&amp;gt;: bcd from tuple&lt;br /&gt;
----&lt;br /&gt;
=== getrmsattr(path:str, attr:int)-&amp;gt;int ===&lt;br /&gt;
Get RMS attribute.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: vms path to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attribute to retrieve&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attribute value&lt;br /&gt;
----&lt;br /&gt;
=== parse(path:str)-&amp;gt;tuple ===&lt;br /&gt;
Parse vms path to the tuple of bytes: (node, disk, directory, name, extension, version)&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: vms path to the file&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;tuple&amp;lt;/code&amp;gt;: parsed path&lt;br /&gt;
----&lt;br /&gt;
=== file(name:str, fac:int, shr:int, fop:int)-&amp;gt;rmsFile ===&lt;br /&gt;
Opens a file&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: vms path to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;fac:int&amp;lt;/code&amp;gt;: file access&lt;br /&gt;
: &amp;lt;code&amp;gt;shr:int&amp;lt;/code&amp;gt;: sharing options&lt;br /&gt;
: &amp;lt;code&amp;gt;fop:int&amp;lt;/code&amp;gt;: file-processing options&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;file:rmsFile&amp;lt;/code&amp;gt;: rmsFile object&lt;br /&gt;
----&lt;br /&gt;
=== RMS file object ===&lt;br /&gt;
----&lt;br /&gt;
Members&lt;br /&gt;
==== longname ====&lt;br /&gt;
long filename&lt;br /&gt;
==== nok ====&lt;br /&gt;
number of keys&lt;br /&gt;
==== org ====&lt;br /&gt;
file organization&lt;br /&gt;
----&lt;br /&gt;
Methods&lt;br /&gt;
==== close ====&lt;br /&gt;
close() -&amp;gt; status&lt;br /&gt;
==== delete ====&lt;br /&gt;
delete([key]) -&amp;gt; status&lt;br /&gt;
==== fetch ====&lt;br /&gt;
get([key]) -&amp;gt; status, record&lt;br /&gt;
==== find ====&lt;br /&gt;
find([key]) -&amp;gt; status&lt;br /&gt;
==== flush ====&lt;br /&gt;
flush() -&amp;gt; status&lt;br /&gt;
==== free ====&lt;br /&gt;
free() -&amp;gt; status&lt;br /&gt;
==== put ====&lt;br /&gt;
put(record) -&amp;gt; status&lt;br /&gt;
==== release ====&lt;br /&gt;
release() -&amp;gt; status&lt;br /&gt;
==== rewind ====&lt;br /&gt;
rewind([keynum]) -&amp;gt; status&lt;br /&gt;
==== update ====&lt;br /&gt;
update(record) -&amp;gt; status&lt;br /&gt;
==== usekey ====&lt;br /&gt;
use_key([keynum]) -&amp;gt; status&lt;br /&gt;
==== setrop ====&lt;br /&gt;
setrop(rop) -&amp;gt; status&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* {{Template:CRuntime}}&lt;br /&gt;
* {{Template:RTLLibrary}}&lt;br /&gt;
* {{Template:SyservI}}&lt;br /&gt;
* {{Template:SyservII}}&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS Python]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2385</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2385"/>
		<updated>2021-07-16T06:11:40Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== vms.decc ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Checks if a shared image can be opened and loaded into memory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: path to the shared image&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: if the shared image exists and can be opened by dlopen()&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: otherwise&lt;br /&gt;
----&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the VMS time to the Unix time stamp.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: VMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Time in the Unix format (number of seconds since 01/01/1970)&lt;br /&gt;
----&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts the VMS path to a list of Unix paths.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt;: path in the VMS format (supports wildcards)&lt;br /&gt;
: &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
;returns&lt;br /&gt;
:List of paths in the Unix notation&lt;br /&gt;
----&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;VSI C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the environment variable&lt;br /&gt;
: &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt;: default value&lt;br /&gt;
;returns&lt;br /&gt;
:Environment variable value&lt;br /&gt;
----&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt;: seconds to sleep&lt;br /&gt;
;returns&lt;br /&gt;
:The number of seconds left before the sleep timer expires if sleep is interrupted. &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds&lt;br /&gt;
----&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt;: system variable to be queried&lt;br /&gt;
;returns&lt;br /&gt;
:Requested value&lt;br /&gt;
----&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts the UNIX style file specifications to the OpenVMS file specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt;: file name following the Unix file naming conventions&lt;br /&gt;
: &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
: &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
:* 0 - Directory allowed&lt;br /&gt;
:* 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
:* 2 - Force expansion of the string as a directory name&lt;br /&gt;
;returns&lt;br /&gt;
List of OpenVMS style pathnames&lt;br /&gt;
----&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the OpenVMS system time to the Unix local time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Unix time&lt;br /&gt;
----&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt;: Unix time&lt;br /&gt;
;returns&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
=== get_symbol(name:str)-&amp;gt;list ===&lt;br /&gt;
Requests the calling process’s command language interpreter (CLI) to return the value of a CLI symbol as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: Name of the symbol&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: value of the returned symbol&lt;br /&gt;
----&lt;br /&gt;
=== fopen(path:str, mode:str, ...)-&amp;gt;fp:object ===&lt;br /&gt;
Opens a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: A character string containing a valid file specification&lt;br /&gt;
: &amp;lt;code&amp;gt;mode:str&amp;lt;/code&amp;gt;: The access mode indicator&lt;br /&gt;
: &amp;lt;code&amp;gt;...:str&amp;lt;/code&amp;gt;: Optional file attribute arguments&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: File pointer&lt;br /&gt;
----&lt;br /&gt;
=== fclose(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Closes a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file to be closed&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== fileno(fp:object)-&amp;gt;fd:int ===&lt;br /&gt;
Returns the file descriptor associated with the specified file pointer.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
----&lt;br /&gt;
=== write(fd:int, data:bytes)-&amp;gt;nbytes:int ===&lt;br /&gt;
Writes bytes to a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
: &amp;lt;code&amp;gt;data:bytes&amp;lt;/code&amp;gt;: Bytes to write&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;nbytes:int&amp;lt;/code&amp;gt;: The number of bytes written&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== fgets(fp:object, maxchars:int)-&amp;gt;line:str ===&lt;br /&gt;
Reads a line from the specified file, up to one less than the specified maximum&lt;br /&gt;
number of characters or up to and including the newline character, whichever&lt;br /&gt;
comes first.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;maxchars:int&amp;lt;/code&amp;gt;: The maximum number of characters to fetch&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;line:str&amp;lt;/code&amp;gt;: The fetched line&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== feof(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Tests a file to see if the end-of-file has been reached.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that the end-of-file has been reached&lt;br /&gt;
----&lt;br /&gt;
=== ferror(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Returns a nonzero integer if an error occurred while reading or writing a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that an error has occurred&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
&amp;lt;br&amp;gt;Provides functions to work with item lists.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates an empty item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:New empty item list&lt;br /&gt;
----&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list to be removed&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets the size of the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
;returns&lt;br /&gt;
:The size of the specified item list&lt;br /&gt;
----&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt;: type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value of the item&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value&lt;br /&gt;
----&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Hexadecimal string&lt;br /&gt;
----&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer if &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
: &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
;returns&lt;br /&gt;
:String&lt;br /&gt;
----&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the item list. This item will be interpreted as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value to store&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
: &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt;: amount of bytes&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value of the specified byte&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS RTL Library (LIB$)&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the directory to be created (following the OpenVMS naming conventions)&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: unsigned integer value of the owner UIC: &lt;br /&gt;
:*&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;: current user&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: owner of the parent directory&lt;br /&gt;
: &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt;: protection-enable. Refer to the &#039;&#039;&#039;VSI OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for more info about LIB$CREATE_DIR.&lt;br /&gt;
: &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt;: protection-value&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt;: one or more directories created&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt;: all the specified directories already exist&lt;br /&gt;
: Some other error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates the local event flag.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting event flag&lt;br /&gt;
----&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt;: local event flag&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt;: string to copy&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in a parseable format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting host node name&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt;, see the &#039;&#039;&#039;OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system-wide information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: node name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting cluster system ID&lt;br /&gt;
----&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
: &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name defined for the subprocess&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID of the spawned process&lt;br /&gt;
----&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
;returns&lt;br /&gt;
:If successful, it does not return control to the calling program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
: &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in the following format:&lt;br /&gt;
:*Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
:*Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting time value&lt;br /&gt;
----&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt;: identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting identifier name&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting context&lt;br /&gt;
----&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt;: the first bit specifies a permanent mailbox &lt;br /&gt;
: &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt;: maximum size of a message (in bytes)&lt;br /&gt;
: &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt;: number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt;: protection mask to be associated with the created mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
: &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt;: logical name to be assigned to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: mailbox channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt;: name of the device&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel&lt;br /&gt;
: &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt;: logical name of the mailbox to be associated with the device&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: an optional device-specific argument&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: number of the I/O channel to be unassigned&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt;: amount of bytes to read&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt;: resulting buffer&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt;: bytes to write&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: amount of written bytes&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel the I/O operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the table in which to create the logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of a logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be deleted&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt;: name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying search criteria&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: found device name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: UIC&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: UIC string&lt;br /&gt;
----&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt;: the name of the device for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the device is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification&lt;br /&gt;
: &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt;: name of the process&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
----&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt;: identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: lock identification&lt;br /&gt;
----&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt;: identification of the message to be retrieved&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: message string&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: optional information&lt;br /&gt;
----&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt;: function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context stream for this call&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt;: OpenVMS Cluster system identification&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: name of the node about which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: CSID&lt;br /&gt;
----&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: current system time&lt;br /&gt;
----&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user to get authorization information for&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int, reptim:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt;: time at which the process is to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;reptim:int&amp;lt;/code&amp;gt;: time interval at which the wakeup request is to be repeated&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: PID&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds the specified holder record to the target identifier.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: target identifier granted to the specified holder&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder identifier that is granted access to the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name to be added to the rights database&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: identifier to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;: identifier value assigned by the system&lt;br /&gt;
----&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder whose identifiers to be found&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: identifier value that was found&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt;: attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value to be cleared&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name of the process that is to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt;: completion code value to be used as the exit parameter&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: identifier of the holder being deleted&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the identifier deleted from rights database&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user whose UAF record is modified&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt;: description of an intruder or suspect&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;: user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;: quadword time format indicating the time when the record will expire&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;: the types of the matched record and the status of the suspect&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: number of login failures or break-in attempts&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;Oracle Rdb&#039;&#039;&#039; functions.&lt;br /&gt;
----&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the Rdb database in the OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt;: path or logical name&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt;: index&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting string&lt;br /&gt;
----&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name for the cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting cursor&lt;br /&gt;
----&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting error string&lt;br /&gt;
----&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt;: prepared SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success, end of stream&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as a list of strings.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:The list of strings&lt;br /&gt;
----&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
----&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Number of columns&lt;br /&gt;
----&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting prepared statement&lt;br /&gt;
----&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting SQL code&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== RMS ==&lt;br /&gt;
&amp;lt;br&amp;gt;Working with RMS.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== BCD2String(bcd:bytes,prec:int)-&amp;gt;str ===&lt;br /&gt;
Converts BCD to string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;bcd:bytes&amp;lt;/code&amp;gt;: bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: string representation of bcd&lt;br /&gt;
----&lt;br /&gt;
=== String2BCD(repr:str,l:int,prec:int)-&amp;gt;bytes ===&lt;br /&gt;
Converts string to BCD.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;repr:str&amp;lt;/code&amp;gt;: string representation of bcd&lt;br /&gt;
: &amp;lt;code&amp;gt;l:int&amp;lt;/code&amp;gt;: length&lt;br /&gt;
: &amp;lt;code&amp;gt;prec:int&amp;lt;/code&amp;gt;: precision&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;bytes&amp;lt;/code&amp;gt;: bcd from string&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* {{Template:CRuntime}}&lt;br /&gt;
* {{Template:RTLLibrary}}&lt;br /&gt;
* {{Template:SyservI}}&lt;br /&gt;
* {{Template:SyservII}}&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS Python]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2384</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2384"/>
		<updated>2021-07-15T08:11:43Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* schdwk(pid:int, pname:str, time:int)-&amp;gt;list */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== vms.decc ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Checks if a shared image can be opened and loaded into memory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: path to the shared image&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: if the shared image exists and can be opened by dlopen()&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: otherwise&lt;br /&gt;
----&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the VMS time to the Unix time stamp.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: VMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Time in the Unix format (number of seconds since 01/01/1970)&lt;br /&gt;
----&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts the VMS path to a list of Unix paths.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt;: path in the VMS format (supports wildcards)&lt;br /&gt;
: &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
;returns&lt;br /&gt;
:List of paths in the Unix notation&lt;br /&gt;
----&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;VSI C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the environment variable&lt;br /&gt;
: &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt;: default value&lt;br /&gt;
;returns&lt;br /&gt;
:Environment variable value&lt;br /&gt;
----&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt;: seconds to sleep&lt;br /&gt;
;returns&lt;br /&gt;
:The number of seconds left before the sleep timer expires if sleep is interrupted. &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds&lt;br /&gt;
----&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt;: system variable to be queried&lt;br /&gt;
;returns&lt;br /&gt;
:Requested value&lt;br /&gt;
----&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts the UNIX style file specifications to the OpenVMS file specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt;: file name following the Unix file naming conventions&lt;br /&gt;
: &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
: &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
:* 0 - Directory allowed&lt;br /&gt;
:* 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
:* 2 - Force expansion of the string as a directory name&lt;br /&gt;
;returns&lt;br /&gt;
List of OpenVMS style pathnames&lt;br /&gt;
----&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the OpenVMS system time to the Unix local time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Unix time&lt;br /&gt;
----&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt;: Unix time&lt;br /&gt;
;returns&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
=== get_symbol(name:str)-&amp;gt;list ===&lt;br /&gt;
Requests the calling process’s command language interpreter (CLI) to return the value of a CLI symbol as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: Name of the symbol&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: value of the returned symbol&lt;br /&gt;
----&lt;br /&gt;
=== fopen(path:str, mode:str, ...)-&amp;gt;fp:object ===&lt;br /&gt;
Opens a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: A character string containing a valid file specification&lt;br /&gt;
: &amp;lt;code&amp;gt;mode:str&amp;lt;/code&amp;gt;: The access mode indicator&lt;br /&gt;
: &amp;lt;code&amp;gt;...:str&amp;lt;/code&amp;gt;: Optional file attribute arguments&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: File pointer&lt;br /&gt;
----&lt;br /&gt;
=== fclose(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Closes a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file to be closed&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== fileno(fp:object)-&amp;gt;fd:int ===&lt;br /&gt;
Returns the file descriptor associated with the specified file pointer.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
----&lt;br /&gt;
=== write(fd:int, data:bytes)-&amp;gt;nbytes:int ===&lt;br /&gt;
Writes bytes to a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
: &amp;lt;code&amp;gt;data:bytes&amp;lt;/code&amp;gt;: Bytes to write&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;nbytes:int&amp;lt;/code&amp;gt;: The number of bytes written&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== fgets(fp:object, maxchars:int)-&amp;gt;line:str ===&lt;br /&gt;
Reads a line from the specified file, up to one less than the specified maximum&lt;br /&gt;
number of characters or up to and including the newline character, whichever&lt;br /&gt;
comes first.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;maxchars:int&amp;lt;/code&amp;gt;: The maximum number of characters to fetch&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;line:str&amp;lt;/code&amp;gt;: The fetched line&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== feof(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Tests a file to see if the end-of-file has been reached.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that the end-of-file has been reached&lt;br /&gt;
----&lt;br /&gt;
=== ferror(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Returns a nonzero integer if an error occurred while reading or writing a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that an error has occurred&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
&amp;lt;br&amp;gt;Provides functions to work with item lists.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates an empty item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:New empty item list&lt;br /&gt;
----&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list to be removed&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets the size of the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
;returns&lt;br /&gt;
:The size of the specified item list&lt;br /&gt;
----&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt;: type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value of the item&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value&lt;br /&gt;
----&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Hexadecimal string&lt;br /&gt;
----&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer if &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
: &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
;returns&lt;br /&gt;
:String&lt;br /&gt;
----&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the item list. This item will be interpreted as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value to store&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
: &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt;: amount of bytes&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value of the specified byte&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS RTL Library (LIB$)&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the directory to be created (following the OpenVMS naming conventions)&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: unsigned integer value of the owner UIC: &lt;br /&gt;
:*&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;: current user&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: owner of the parent directory&lt;br /&gt;
: &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt;: protection-enable. Refer to the &#039;&#039;&#039;VSI OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for more info about LIB$CREATE_DIR.&lt;br /&gt;
: &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt;: protection-value&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt;: one or more directories created&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt;: all the specified directories already exist&lt;br /&gt;
: Some other error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates the local event flag.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting event flag&lt;br /&gt;
----&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt;: local event flag&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt;: string to copy&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in a parseable format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting host node name&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt;, see the &#039;&#039;&#039;OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system-wide information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: node name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting cluster system ID&lt;br /&gt;
----&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
: &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name defined for the subprocess&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID of the spawned process&lt;br /&gt;
----&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
;returns&lt;br /&gt;
:If successful, it does not return control to the calling program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
: &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in the following format:&lt;br /&gt;
:*Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
:*Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting time value&lt;br /&gt;
----&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt;: identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting identifier name&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting context&lt;br /&gt;
----&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt;: the first bit specifies a permanent mailbox &lt;br /&gt;
: &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt;: maximum size of a message (in bytes)&lt;br /&gt;
: &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt;: number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt;: protection mask to be associated with the created mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
: &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt;: logical name to be assigned to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: mailbox channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt;: name of the device&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel&lt;br /&gt;
: &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt;: logical name of the mailbox to be associated with the device&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: an optional device-specific argument&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: number of the I/O channel to be unassigned&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt;: amount of bytes to read&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt;: resulting buffer&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt;: bytes to write&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: amount of written bytes&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel the I/O operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the table in which to create the logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of a logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be deleted&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt;: name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying search criteria&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: found device name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: UIC&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: UIC string&lt;br /&gt;
----&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt;: the name of the device for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the device is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification&lt;br /&gt;
: &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt;: name of the process&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
----&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt;: identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: lock identification&lt;br /&gt;
----&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt;: identification of the message to be retrieved&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: message string&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: optional information&lt;br /&gt;
----&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt;: function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context stream for this call&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt;: OpenVMS Cluster system identification&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: name of the node about which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: CSID&lt;br /&gt;
----&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: current system time&lt;br /&gt;
----&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user to get authorization information for&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int, reptim:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt;: time at which the process is to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;reptim:int&amp;lt;/code&amp;gt;: time interval at which the wakeup request is to be repeated&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: PID&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds the specified holder record to the target identifier.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: target identifier granted to the specified holder&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder identifier that is granted access to the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name to be added to the rights database&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: identifier to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;: identifier value assigned by the system&lt;br /&gt;
----&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder whose identifiers to be found&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: identifier value that was found&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt;: attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value to be cleared&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name of the process that is to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt;: completion code value to be used as the exit parameter&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: identifier of the holder being deleted&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the identifier deleted from rights database&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user whose UAF record is modified&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt;: description of an intruder or suspect&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;: user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;: quadword time format indicating the time when the record will expire&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;: the types of the matched record and the status of the suspect&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: number of login failures or break-in attempts&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;Oracle Rdb&#039;&#039;&#039; functions.&lt;br /&gt;
----&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the Rdb database in the OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt;: path or logical name&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt;: index&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting string&lt;br /&gt;
----&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name for the cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting cursor&lt;br /&gt;
----&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting error string&lt;br /&gt;
----&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt;: prepared SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success, end of stream&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as a list of strings.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:The list of strings&lt;br /&gt;
----&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
----&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Number of columns&lt;br /&gt;
----&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting prepared statement&lt;br /&gt;
----&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting SQL code&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* {{Template:CRuntime}}&lt;br /&gt;
* {{Template:RTLLibrary}}&lt;br /&gt;
* {{Template:SyservI}}&lt;br /&gt;
* {{Template:SyservII}}&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS Python]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2381</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2381"/>
		<updated>2021-07-07T11:38:08Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== vms.decc ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Checks if a shared image can be opened and loaded into memory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: path to the shared image&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: if the shared image exists and can be opened by dlopen()&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: otherwise&lt;br /&gt;
----&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the VMS time to the Unix time stamp.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: VMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Time in the Unix format (number of seconds since 01/01/1970)&lt;br /&gt;
----&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts the VMS path to a list of Unix paths.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt;: path in the VMS format (supports wildcards)&lt;br /&gt;
: &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
;returns&lt;br /&gt;
:List of paths in the Unix notation&lt;br /&gt;
----&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;VSI C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the environment variable&lt;br /&gt;
: &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt;: default value&lt;br /&gt;
;returns&lt;br /&gt;
:Environment variable value&lt;br /&gt;
----&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt;: seconds to sleep&lt;br /&gt;
;returns&lt;br /&gt;
:The number of seconds left before the sleep timer expires if sleep is interrupted. &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds&lt;br /&gt;
----&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt;: system variable to be queried&lt;br /&gt;
;returns&lt;br /&gt;
:Requested value&lt;br /&gt;
----&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts the UNIX style file specifications to the OpenVMS file specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt;: file name following the Unix file naming conventions&lt;br /&gt;
: &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
: &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
:* 0 - Directory allowed&lt;br /&gt;
:* 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
:* 2 - Force expansion of the string as a directory name&lt;br /&gt;
;returns&lt;br /&gt;
List of OpenVMS style pathnames&lt;br /&gt;
----&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the OpenVMS system time to the Unix local time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Unix time&lt;br /&gt;
----&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt;: Unix time&lt;br /&gt;
;returns&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
=== get_symbol(name:str)-&amp;gt;list ===&lt;br /&gt;
Requests the calling process’s command language interpreter (CLI) to return the value of a CLI symbol as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: Name of the symbol&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: value of the returned symbol&lt;br /&gt;
----&lt;br /&gt;
=== fopen(path:str, mode:str, ...)-&amp;gt;fp:object ===&lt;br /&gt;
Opens a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: A character string containing a valid file specification&lt;br /&gt;
: &amp;lt;code&amp;gt;mode:str&amp;lt;/code&amp;gt;: The access mode indicator&lt;br /&gt;
: &amp;lt;code&amp;gt;...:str&amp;lt;/code&amp;gt;: Optional file attribute arguments&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: File pointer&lt;br /&gt;
----&lt;br /&gt;
=== fclose(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Closes a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file to be closed&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== fileno(fp:object)-&amp;gt;fd:int ===&lt;br /&gt;
Returns the file descriptor associated with the specified file pointer.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
----&lt;br /&gt;
=== write(fd:int, data:bytes)-&amp;gt;nbytes:int ===&lt;br /&gt;
Writes a bytes to a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fd:int&amp;lt;/code&amp;gt;: Integer file descriptor&lt;br /&gt;
: &amp;lt;code&amp;gt;data:bytes&amp;lt;/code&amp;gt;: Bytes to write&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;nbytes:int&amp;lt;/code&amp;gt;: The number of bytes written&lt;br /&gt;
----&lt;br /&gt;
=== fgets(fp:object, maxchars:int)-&amp;gt;line:str ===&lt;br /&gt;
Reads a line from the specified file, up to one less than the specified maximum&lt;br /&gt;
number of characters or up to and including the new-line character, whichever&lt;br /&gt;
comes first.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
: &amp;lt;code&amp;gt;maxchars:int&amp;lt;/code&amp;gt;: The maximum number of characters to fetch&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;line:str&amp;lt;/code&amp;gt;: The fetched line&lt;br /&gt;
----&lt;br /&gt;
=== feof(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Tests a file to see if the end-of-file has been reached.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that the end-of-file has been reached&lt;br /&gt;
----&lt;br /&gt;
=== ferror(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Returns a nonzero integer if an error occurred while reading or writing a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: Nonzero integer indicates that an error has occurred&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
&amp;lt;br&amp;gt;Provides functions to work with item lists.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates an empty item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:New empty item list&lt;br /&gt;
----&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list to be removed&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets the size of the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
;returns&lt;br /&gt;
:The size of the specified item list&lt;br /&gt;
----&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt;: type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value of the item&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value&lt;br /&gt;
----&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Hexadecimal string&lt;br /&gt;
----&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer if &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
: &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
;returns&lt;br /&gt;
:String&lt;br /&gt;
----&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the item list. This item will be interpreted as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value to store&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
: &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt;: amount of bytes&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value of the specified byte&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS RTL Library (LIB$)&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the directory to be created (following the OpenVMS naming conventions)&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: unsigned integer value of the owner UIC: &lt;br /&gt;
:*&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;: current user&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: owner of the parent directory&lt;br /&gt;
: &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt;: protection-enable. Refer to the &#039;&#039;&#039;VSI OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for more info about LIB$CREATE_DIR.&lt;br /&gt;
: &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt;: protection-value&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt;: one or more directories created&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt;: all the specified directories already exist&lt;br /&gt;
: Some other error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates the local event flag.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting event flag&lt;br /&gt;
----&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt;: local event flag&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt;: string to copy&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in a parseable format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting host node name&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt;, see the &#039;&#039;&#039;OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system-wide information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: node name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting cluster system ID&lt;br /&gt;
----&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
: &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name defined for the subprocess&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID of the spawned process&lt;br /&gt;
----&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
;returns&lt;br /&gt;
:If successful, it does not return control to the calling program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
: &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in the following format:&lt;br /&gt;
:*Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
:*Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting time value&lt;br /&gt;
----&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt;: identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting identifier name&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting context&lt;br /&gt;
----&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt;: the first bit specifies a permanent mailbox &lt;br /&gt;
: &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt;: maximum size of a message (in bytes)&lt;br /&gt;
: &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt;: number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt;: protection mask to be associated with the created mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
: &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt;: logical name to be assigned to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: mailbox channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt;: name of the device&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel&lt;br /&gt;
: &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt;: logical name of the mailbox to be associated with the device&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: an optional device-specific argument&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: number of the I/O channel to be unassigned&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt;: amount of bytes to read&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt;: resulting buffer&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt;: bytes to write&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: amount of written bytes&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel the I/O operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the table in which to create the logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of a logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be deleted&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt;: name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying search criteria&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: found device name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: UIC&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: UIC string&lt;br /&gt;
----&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt;: the name of the device for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the device is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification&lt;br /&gt;
: &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt;: name of the process&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
----&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt;: identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: lock identification&lt;br /&gt;
----&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt;: identification of the message to be retrieved&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: message string&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: optional information&lt;br /&gt;
----&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt;: function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context stream for this call&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt;: OpenVMS Cluster system identification&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: name of the node about which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: CSID&lt;br /&gt;
----&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: current system time&lt;br /&gt;
----&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user to get authorization information for&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt;: time at which the process is to be awakened&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: PID&lt;br /&gt;
----&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds the specified holder record to the target identifier.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: target identifier granted to the specified holder&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder identifier that is granted access to the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name to be added to the rights database&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: identifier to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;: identifier value assigned by the system&lt;br /&gt;
----&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder whose identifiers to be found&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: identifier value that was found&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt;: attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value to be cleared&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name of the process that is to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt;: completion code value to be used as the exit parameter&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: identifier of the holder being deleted&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the identifier deleted from rights database&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user whose UAF record is modified&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt;: description of an intruder or suspect&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;: user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;: quadword time format indicating the time when the record will expire&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;: the types of the matched record and the status of the suspect&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: number of login failures or break-in attempts&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;Oracle Rdb&#039;&#039;&#039; functions.&lt;br /&gt;
----&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the Rdb database in the OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt;: path or logical name&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt;: index&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting string&lt;br /&gt;
----&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name for the cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting cursor&lt;br /&gt;
----&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting error string&lt;br /&gt;
----&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt;: prepared SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success, end of stream&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as a list of strings.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:The list of strings&lt;br /&gt;
----&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
----&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Number of columns&lt;br /&gt;
----&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting prepared statement&lt;br /&gt;
----&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting SQL code&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* {{Template:CRuntime}}&lt;br /&gt;
* {{Template:RTLLibrary}}&lt;br /&gt;
* {{Template:SyservI}}&lt;br /&gt;
* {{Template:SyservII}}&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS Python]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2380</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2380"/>
		<updated>2021-07-07T11:24:57Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== vms.decc ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Checks if a shared image can be opened and loaded into memory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: path to the shared image&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: if the shared image exists and can be opened by dlopen()&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: otherwise&lt;br /&gt;
----&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the VMS time to the Unix time stamp.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: VMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Time in the Unix format (number of seconds since 01/01/1970)&lt;br /&gt;
----&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts the VMS path to a list of Unix paths.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt;: path in the VMS format (supports wildcards)&lt;br /&gt;
: &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
;returns&lt;br /&gt;
:List of paths in the Unix notation&lt;br /&gt;
----&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;VSI C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the environment variable&lt;br /&gt;
: &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt;: default value&lt;br /&gt;
;returns&lt;br /&gt;
:Environment variable value&lt;br /&gt;
----&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt;: seconds to sleep&lt;br /&gt;
;returns&lt;br /&gt;
:The number of seconds left before the sleep timer expires if sleep is interrupted. &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds&lt;br /&gt;
----&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt;: system variable to be queried&lt;br /&gt;
;returns&lt;br /&gt;
:Requested value&lt;br /&gt;
----&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts the UNIX style file specifications to the OpenVMS file specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt;: file name following the Unix file naming conventions&lt;br /&gt;
: &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt;: If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, the wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
: &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
:* 0 - Directory allowed&lt;br /&gt;
:* 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
:* 2 - Force expansion of the string as a directory name&lt;br /&gt;
;returns&lt;br /&gt;
List of OpenVMS style pathnames&lt;br /&gt;
----&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts the OpenVMS system time to the Unix local time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Unix time&lt;br /&gt;
----&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt;: Unix time&lt;br /&gt;
;returns&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
=== get_symbol(name:str)-&amp;gt;list ===&lt;br /&gt;
Requests the calling process’s command language interpreter (CLI) to return the value of a CLI symbol as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: Name of the symbol&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: value of the returned symbol&lt;br /&gt;
----&lt;br /&gt;
=== fopen(path:str, mode:str, ...)-&amp;gt;fp:object ===&lt;br /&gt;
Opens a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;path:str&amp;lt;/code&amp;gt;: A character string containing a valid file specification&lt;br /&gt;
: &amp;lt;code&amp;gt;mode:str&amp;lt;/code&amp;gt;: The access mode indicator&lt;br /&gt;
: &amp;lt;code&amp;gt;...:str&amp;lt;/code&amp;gt;: Optional file attribute arguments&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: File pointer&lt;br /&gt;
----&lt;br /&gt;
=== fclose(fp:object)-&amp;gt;status:int ===&lt;br /&gt;
Closes a file.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;fp:object&amp;lt;/code&amp;gt;: A pointer to the file to be closed&lt;br /&gt;
;returns&lt;br /&gt;
:*&amp;lt;code&amp;gt;status:int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
&amp;lt;br&amp;gt;Provides functions to work with item lists.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates an empty item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:New empty item list&lt;br /&gt;
----&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list to be removed&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets the size of the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
;returns&lt;br /&gt;
:The size of the specified item list&lt;br /&gt;
----&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt;: type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value of the item&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value&lt;br /&gt;
----&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Hexadecimal string&lt;br /&gt;
----&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer if &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt;: value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt;: length of the buffer&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item to get&lt;br /&gt;
: &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
;returns&lt;br /&gt;
:String&lt;br /&gt;
----&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the item list. This item will be interpreted as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt;: item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt;: value to store&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
: &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt;: amount of bytes&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt;: index of the item&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt;: starting byte&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value of the specified byte&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS RTL Library (LIB$)&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name of the directory to be created (following the OpenVMS naming conventions)&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: unsigned integer value of the owner UIC: &lt;br /&gt;
:*&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;: current user&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: owner of the parent directory&lt;br /&gt;
: &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt;: protection-enable. Refer to the &#039;&#039;&#039;VSI OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for more info about LIB$CREATE_DIR.&lt;br /&gt;
: &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt;: protection-value&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt;: one or more directories created&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt;: all the specified directories already exist&lt;br /&gt;
: Some other error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates the local event flag.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting event flag&lt;br /&gt;
----&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt;: local event flag&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt;: string to copy&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in a parseable format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting host node name&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt;, see the &#039;&#039;&#039;OpenVMS RTL Library (LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system-wide information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt;: item identifier code defining the item of the information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: node name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting cluster system ID&lt;br /&gt;
----&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
: &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt;: equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name defined for the subprocess&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID of the spawned process&lt;br /&gt;
----&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt;: command to execute&lt;br /&gt;
;returns&lt;br /&gt;
:If successful, it does not return control to the calling program.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt;: OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
: &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt;: if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting string&lt;br /&gt;
----&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in the following format:&lt;br /&gt;
:*Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
:*Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting time value&lt;br /&gt;
----&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt;: identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: resulting identifier name&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier value&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting context&lt;br /&gt;
----&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt;: the first bit specifies a permanent mailbox &lt;br /&gt;
: &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt;: maximum size of a message (in bytes)&lt;br /&gt;
: &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt;: number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt;: protection mask to be associated with the created mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
: &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt;: logical name to be assigned to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: mailbox channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt;: name of the device&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the channel&lt;br /&gt;
: &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt;: logical name of the mailbox to be associated with the device&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: an optional device-specific argument&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: number of the I/O channel to be unassigned&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt;: amount of bytes to read&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt;: resulting buffer&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to the I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt;: bytes to write&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt;: starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt;: function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: amount of written bytes&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel the I/O operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt;: I/O channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the table in which to create the logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt;: attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt;: item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt;: name of a logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt;: logical name to be deleted&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt;: access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt;: name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying search criteria&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: found device name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt;: UIC&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: UIC string&lt;br /&gt;
----&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt;: the name of the device for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the device is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification&lt;br /&gt;
: &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt;: name of the process&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: process ID&lt;br /&gt;
----&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt;: identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: lock identification&lt;br /&gt;
----&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt;: identification of the message to be retrieved&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt;: message string&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: optional information&lt;br /&gt;
----&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt;: function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context stream for this call&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: context&lt;br /&gt;
----&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt;: OpenVMS Cluster system identification&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt;: name of the node about which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: CSID&lt;br /&gt;
----&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: current system time&lt;br /&gt;
----&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user to get authorization information for&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: name of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt;: time at which the process is to be awakened&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: PID&lt;br /&gt;
----&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds the specified holder record to the target identifier.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: target identifier granted to the specified holder&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder identifier that is granted access to the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: identifier name to be added to the rights database&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: identifier to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt;: attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;: identifier value assigned by the system&lt;br /&gt;
----&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: holder whose identifiers to be found&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;: identifier value that was found&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt;: attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context value to be cleared&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt;: process identification (PID) of the process to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt;: process name of the process that is to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt;: completion code value to be used as the exit parameter&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt;: identifier of the holder being deleted&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt;: binary value of the identifier deleted from rights database&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt;: name of the user whose UAF record is modified&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt;: item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt;: description of an intruder or suspect&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt;: type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt;: context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt;: status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;: user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;: quadword time format indicating the time when the record will expire&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;: the types of the matched record and the status of the suspect&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;: number of login failures or break-in attempts&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;Oracle Rdb&#039;&#039;&#039; functions.&lt;br /&gt;
----&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the Rdb database in the OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt;: path or logical name&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt;: index&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting string&lt;br /&gt;
----&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt;: name for the cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting cursor&lt;br /&gt;
----&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting error string&lt;br /&gt;
----&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt;: prepared SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success, end of stream&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as a list of strings.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:The list of strings&lt;br /&gt;
----&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
----&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Number of columns&lt;br /&gt;
----&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt;: cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt;: SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting prepared statement&lt;br /&gt;
----&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;: success&lt;br /&gt;
:*&amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt;: failed&lt;br /&gt;
----&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting SQL code&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
* {{Template:CRuntime}}&lt;br /&gt;
* {{Template:RTLLibrary}}&lt;br /&gt;
* {{Template:SyservI}}&lt;br /&gt;
* {{Template:SyservII}}&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS Python]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS_IDE_Change_Log&amp;diff=2296</id>
		<title>VMS IDE Change Log</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS_IDE_Change_Log&amp;diff=2296"/>
		<updated>2021-04-20T07:00:32Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 1.5.41 ===&lt;br /&gt;
* Correct readme file&lt;br /&gt;
&lt;br /&gt;
=== 1.5.40 ===&lt;br /&gt;
* Prepare to debug downloads only from current build configuration output folder.&lt;br /&gt;
* The behaviour of &#039;edit&#039; download option has changed: diff edit window is opened only if the file exists on PC side. Otherwise, the file will be downloaded.&lt;br /&gt;
&lt;br /&gt;
=== 1.5.39 ===&lt;br /&gt;
* Shortening path for task2cmd socket.&lt;br /&gt;
&lt;br /&gt;
=== 1.5.38 ===&lt;br /&gt;
* Create read/write streams with &#039;binary&#039; encoding.&lt;br /&gt;
&lt;br /&gt;
=== 1.5.37 ===&lt;br /&gt;
* Run the project COM file before the program in the release (as in the debug) passing &#039;RELEASE&#039; as a parameter.&lt;br /&gt;
&lt;br /&gt;
=== 1.5.36 ===&lt;br /&gt;
* Uploading via ZIP uses random name for zip file and deletes it at the end.&lt;br /&gt;
* Spaces, dots and carets are allowed in project names and root folders.&lt;br /&gt;
&lt;br /&gt;
=== 1.5.35 ===&lt;br /&gt;
* Python debugger: fix displaying collections when index &amp;gt; 9.&lt;br /&gt;
&lt;br /&gt;
=== 1.5.34 ===&lt;br /&gt;
* Python debugger: fix displaying &#039;dict&#039; object.&lt;br /&gt;
&lt;br /&gt;
=== 1.5.31 ===&lt;br /&gt;
* Refine Python debugger output.&lt;br /&gt;
&lt;br /&gt;
=== 1.5.30 ===&lt;br /&gt;
* Fix Python debugger (splitting long strings).&lt;br /&gt;
&lt;br /&gt;
=== 1.5.28 ===&lt;br /&gt;
* Fix Python debugger (hangs on long file paths).&lt;br /&gt;
&lt;br /&gt;
=== 1.5.27 ===&lt;br /&gt;
* Fix downloading system headers.&lt;br /&gt;
&lt;br /&gt;
=== 1.5.26 ===&lt;br /&gt;
* Fix Python debugger (issue with displaying list of integers).&lt;br /&gt;
&lt;br /&gt;
=== 1.5.25 ===&lt;br /&gt;
* VMS debugger issue with long C++ function names is fixed.&lt;br /&gt;
&lt;br /&gt;
=== 1.5.24 ===&lt;br /&gt;
* Fix VMS debugger, Python debugger, default terminal command&lt;br /&gt;
&lt;br /&gt;
=== 1.5.23 ===&lt;br /&gt;
* Fix VMS debugger&lt;br /&gt;
&lt;br /&gt;
=== 1.5.20 ===&lt;br /&gt;
* Add pre-launch python debugger command&lt;br /&gt;
&lt;br /&gt;
=== 1.5.19 ===&lt;br /&gt;
* Add python command line options&lt;br /&gt;
&lt;br /&gt;
=== 1.5.18 ===&lt;br /&gt;
* Fix python debugger (did not work on python 2.7)&lt;br /&gt;
&lt;br /&gt;
=== 1.5.17 ===&lt;br /&gt;
* Fix messages&lt;br /&gt;
&lt;br /&gt;
=== 1.5.16 ===&lt;br /&gt;
* Logo is changed&lt;br /&gt;
&lt;br /&gt;
=== 1.5.15 ===&lt;br /&gt;
* Update messages&lt;br /&gt;
* Allow executing expression in Python debugger&lt;br /&gt;
&lt;br /&gt;
=== 1.5.14 ===&lt;br /&gt;
* Fix Python debugger&lt;br /&gt;
&lt;br /&gt;
=== 1.5.11 ===&lt;br /&gt;
* Preparing to debug as a separate procedure.&lt;br /&gt;
* Embedded SQL in FORTRAN&lt;br /&gt;
&lt;br /&gt;
=== 1.5.9 ===&lt;br /&gt;
* Allow the user to set additional compiler qualifiers and defines&lt;br /&gt;
* New command for Python debugger to set radix&lt;br /&gt;
&lt;br /&gt;
=== 1.5.6 ===&lt;br /&gt;
* Fix VMS debugger (resolving source files in different folders with the same basename).&lt;br /&gt;
&lt;br /&gt;
=== 1.5.5 ===&lt;br /&gt;
* Fix Python debugger (display/set variables).&lt;br /&gt;
&lt;br /&gt;
=== 1.5.3 ===&lt;br /&gt;
* Add developer mode for Python debugger. This feature allows tracing system files.&lt;br /&gt;
&lt;br /&gt;
=== 1.5.0 ===&lt;br /&gt;
* Two-terminal debugger (the user requires additional privileges: LOG_IO, PHY_IO and OPER)&lt;br /&gt;
&lt;br /&gt;
=== 1.4.12 ===&lt;br /&gt;
* Fix BASIC RMSSTATUS syntax&lt;br /&gt;
&lt;br /&gt;
=== 1.4.11 ===&lt;br /&gt;
* Fix Python debugger&lt;br /&gt;
&lt;br /&gt;
=== 1.4.9 ===&lt;br /&gt;
* Added command to ZIP listing files on VMS side.&lt;br /&gt;
* Fix PASCAL syntax parser issues.&lt;br /&gt;
&lt;br /&gt;
=== 1.4.4 ===&lt;br /&gt;
* Unzip command moved from Project settings to SSH settings&lt;br /&gt;
* Changed the way how the debugger finds source by module name.&lt;br /&gt;
* Absolute path is allowed in root (starts from /)&lt;br /&gt;
&lt;br /&gt;
=== 1.4.1 ===&lt;br /&gt;
* Python debugger now supports entering data from debug console&lt;br /&gt;
* setTimeByShell settings is deleted from SynchronizeSection, supportSetFileTime is added to ConnectionSection&lt;br /&gt;
&lt;br /&gt;
=== 1.4.0 ===&lt;br /&gt;
* Fix PASCAL syntax parser and highlighting issues.&lt;br /&gt;
* Add BASIC highlighting and syntax parser.&lt;br /&gt;
* Add experimental Pyhton debugger.&lt;br /&gt;
* Fix glob patterns (project settings masks).&lt;br /&gt;
&lt;br /&gt;
=== 1.3.6 ===&lt;br /&gt;
* Fix PASCAL syntax parser issues.&lt;br /&gt;
&lt;br /&gt;
=== 1.3.5 ===&lt;br /&gt;
* Fix PASCAL syntax parser issues.&lt;br /&gt;
&lt;br /&gt;
=== 1.3.4 ===&lt;br /&gt;
* Handle more cases in COBOL Light-weight IntelliSense.&lt;br /&gt;
* Parse and skip EXEC SQL statements in COBOL.&lt;br /&gt;
&lt;br /&gt;
=== 1.3.3 ===&lt;br /&gt;
* Fix time of uploaded files after &#039;Quick uploading&#039;.&lt;br /&gt;
&lt;br /&gt;
=== 1.3.2 ===&lt;br /&gt;
* Fix breakpoints.&lt;br /&gt;
&lt;br /&gt;
=== 1.3.1 ===&lt;br /&gt;
* Light-weight IntelliSense for [[Fortran syntax highlighting|&#039;&#039;&#039;Fortran&#039;&#039;&#039;]] and [[COBOL light-weight IntelliSense|&#039;&#039;&#039;Cobol&#039;&#039;&#039;]].&lt;br /&gt;
&lt;br /&gt;
=== 1.2.6 ===&lt;br /&gt;
* Fixed the issue when the extension crashed when opening a C project.&lt;br /&gt;
* Fixed duplicating algorithms in SSH settings.&lt;br /&gt;
&lt;br /&gt;
=== 1.2.3 - 1.2.5 ===&lt;br /&gt;
* Added function breakpoints. &lt;br /&gt;
* Added data breakpoints (without user interface).&lt;br /&gt;
&lt;br /&gt;
=== 1.2.2 ===&lt;br /&gt;
* Fix the issue with display/set unicode string in &#039;&#039;&#039;Java&#039;&#039;&#039; debugger.&lt;br /&gt;
* JVM Debugger can now collect fields of Java classes.&lt;br /&gt;
&lt;br /&gt;
=== 1.2.1 ===&lt;br /&gt;
* Fix issues with templates in &#039;&#039;&#039;Java&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== 1.2.0 ===&lt;br /&gt;
* Added support for &#039;&#039;&#039;Java&#039;&#039;&#039;, &#039;&#039;&#039;Kotlin&#039;&#039;&#039; and &#039;&#039;&#039;Scala&#039;&#039;&#039; languages.&lt;br /&gt;
* One output channel for all extension messages.&lt;br /&gt;
&lt;br /&gt;
=== 1.1.0 ===&lt;br /&gt;
* &#039;&#039;&#039;Pascal&#039;&#039;&#039; syntax highlighting.&lt;br /&gt;
* OpenVMS specific &#039;&#039;&#039;COBOL&#039;&#039;&#039; grammar support.&lt;br /&gt;
&lt;br /&gt;
=== 1.0.2 ===&lt;br /&gt;
* Allow users to skip signature verification in SSH (cause: Visual Studio Code 1.36.1 issue).&lt;br /&gt;
&lt;br /&gt;
=== 1.0.1 ===&lt;br /&gt;
* Fix: parsing compiler errors that occurred on the same line of source code.&lt;br /&gt;
* OpenVMS specific &#039;&#039;&#039;Pascal&#039;&#039;&#039; grammar basic support.&lt;br /&gt;
* Debugger: skip querying symbols with invalid names.&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS IDE]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS_IDE_Commands&amp;diff=2295</id>
		<title>VMS IDE Commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS_IDE_Commands&amp;diff=2295"/>
		<updated>2021-04-20T06:35:20Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;To invoke the commands, press &amp;lt;code&amp;gt;F1&amp;lt;/code&amp;gt; in the Visual Studio Code editor and start typing the command.&lt;br /&gt;
[[File:List_of_commands.png|800px|thumb|none|VMS IDE Commands]]&lt;br /&gt;
&lt;br /&gt;
=Commands=&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Build on VMS&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Build project on OpenVMS with its dependencies&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Build project&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Build the selected project on OpenVMS (`Ctrl+Alt+F7`)&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Change CR/LF for all source files&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Change CR/LF to LF for all source files&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Clean this project&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Clean the project, delete files from output folder&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Create/Update MMS&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Create default MMS&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Download system headers&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Download system headers from VMS&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Edit VMS project settings&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Edit project settings&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Edit ssh-helper settings&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Edit SSH connection settings&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Force built status&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Force built status&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Force synchronized status&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Force synchronized status&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Prepare to debug&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Prepare project for debugging&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Quick upload&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Execute quick uploading&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Rebuild on VMS&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Rebuild project on OpenVMS with its dependencies&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Rebuild project&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Rebuild the selected project on OpenVMS&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Reparse Basic project&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Reparse Basic project&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Reparse Fortran project&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Reparse Fortran project&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Reparse Pascal project&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Reparse Pascal project&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Synchronize project files with VMS&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Synchronize project files with VMS&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Terminal&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Open VMS terminal (`Ctrl+F6`)&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Upload files via Zip&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Upload project files using Zip&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;VMS-IDE: Upload files&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Upload project files&lt;br /&gt;
&lt;br /&gt;
=Task=&lt;br /&gt;
Also, it is possible to run command through VS Code Tasks. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;label&amp;quot;: &amp;quot;Upload&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;task2cmd&amp;quot;,&lt;br /&gt;
    &amp;quot;command&amp;quot;: &amp;quot;vmssoftware.synchronizer.upload&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;label&#039;&#039;&#039;&amp;lt;/code&amp;gt; unique label of command&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;type&#039;&#039;&#039;&amp;lt;/code&amp;gt; type of command, must be &#039;&#039;task2cmd&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;command&#039;&#039;&#039;&amp;lt;/code&amp;gt; the name of command, can be given from Contribution page of extension description.&lt;br /&gt;
[[Category:VMS IDE]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=Project_Settings&amp;diff=2127</id>
		<title>Project Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=Project_Settings&amp;diff=2127"/>
		<updated>2021-03-04T11:02:59Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* Adjusting Project Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Project Configuration Example=&lt;br /&gt;
[[File:&amp;quot;Project Settings&amp;quot; Example.png|thumb|Project Settings]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;project&amp;quot;: {&lt;br /&gt;
        &amp;quot;break&amp;quot;: &amp;quot;C&amp;quot;,&lt;br /&gt;
        &amp;quot;builders&amp;quot;: &amp;quot;*.{mms,com}&amp;quot;,&lt;br /&gt;
        &amp;quot;exclude&amp;quot;: &amp;quot;**/{node_modules,.vscode}/**&amp;quot;,&lt;br /&gt;
        &amp;quot;headers&amp;quot;: &amp;quot;*.h&amp;quot;,&lt;br /&gt;
        &amp;quot;listing&amp;quot;: &amp;quot;*.lis&amp;quot;,&lt;br /&gt;
        &amp;quot;outdir&amp;quot;: &amp;quot;out&amp;quot;,&lt;br /&gt;
        &amp;quot;projectName&amp;quot;: &amp;quot;project&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;executable&amp;quot;,&lt;br /&gt;
        &amp;quot;resource&amp;quot;: &amp;quot;**/resource/**&amp;quot;,&lt;br /&gt;
        &amp;quot;root&amp;quot;: &amp;quot;project&amp;quot;,&lt;br /&gt;
        &amp;quot;source&amp;quot;: &amp;quot;*.{cpp,c}&amp;quot;,&lt;br /&gt;
        &amp;quot;addCompQual&amp;quot;: &amp;quot;/FLOAT=G_FLOAT&amp;quot;,&lt;br /&gt;
        &amp;quot;addCompDef&amp;quot;: &amp;quot;MAXFPS=10,NO_SCREEN,IMAGE_NAME=\&amp;quot;\&amp;quot;\&amp;quot;DEF\&amp;quot;\&amp;quot;\&amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;addLibraries&amp;quot;: &amp;quot;sys$library:IMAGELIB.OLB,sys$library:RDBMSGS.OLB&amp;quot;,&lt;br /&gt;
        &amp;quot;addIncludes&amp;quot;: &amp;quot;sys$library&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Project Settings Description=&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;break&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Keyboard key to pause debugging in VMS IDE debugger. The extension uses combination &amp;lt;code&amp;gt;CTRL+Key&amp;lt;/code&amp;gt; to pause debugging when user press &#039;&#039;&#039;Pause&#039;&#039;&#039; or &amp;lt;code&amp;gt;F6&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;builders&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Mask for files used for building the project. Default is &amp;quot;*.{mms,com}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;exclude&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Folders excluded from synchronization with OpenVMS system.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;headers&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Header files. Default is &amp;quot;*.{h,hpp}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;listing&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Listing files that will be downloaded after the project is built for debugging purpose.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;outdir&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Output directory where object, listing and executable files will be stored when built. Is also used for temporary files. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: Should be only the name of the folder, not a full or relative path. &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;projectName&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Name for the executable file, auto-generated &#039;&#039;&#039;MMS&#039;&#039;&#039; file for builder, OPT file for linker, and COM file for defining logical names. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: Use one word only; do not use spaces or special characters.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;projectType&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Type of the project. &#039;&#039;&#039;Note:&#039;&#039;&#039; the building method depends on the type of the project and its dependencies. Available types: &lt;br /&gt;
** &#039;&#039;&#039;executable&#039;&#039;&#039;, &#039;&#039;&#039;library&#039;&#039;&#039; or &#039;&#039;&#039;shareable&#039;&#039;&#039; for classic languages; &lt;br /&gt;
** &#039;&#039;&#039;java&#039;&#039;&#039;, &#039;&#039;&#039;kotlin&#039;&#039;&#039; or &#039;&#039;&#039;scala&#039;&#039;&#039; for JVM based projects. &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;resource&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Files required for the project, but are not involved in the build process.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Directory of the project on the remote OpenVMS machine in UNIX format relative to the home folder. Also it may be absolute path if it starts with &amp;quot;/&amp;quot;. In this case first word in path is a disk (or logical name). Only default system logical names may be used in &#039;&#039;&#039;root&#039;&#039;&#039;, because login.com is not executed in SFTP session.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;source&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Mask for the source files, e.g. &amp;quot;*.{c,cpp}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addCompQual&#039;&#039;&#039;&amp;lt;/code&amp;gt; - additional qualifiers for compiler, as is.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addCompDef&#039;&#039;&#039;&amp;lt;/code&amp;gt; - additional defines for compiler, strings should be enclosed in triple escaped quotes.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addLibraries&#039;&#039;&#039;&amp;lt;/code&amp;gt; - list of libraries in ODS-5 format, separated by commas.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addIncludes&#039;&#039;&#039;&amp;lt;/code&amp;gt; - list of folders in ODS-5 format, separated by commas.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &#039;&#039;&#039;Note: &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; must not have trailing &amp;quot;/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Adjusting Project Settings=&lt;br /&gt;
# Set the &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; directory. For example, if the project is located in &#039;&#039;&#039;WORK:[USER.DEMOS.SIMPLE]&#039;&#039;&#039; and the home directory is &#039;&#039;&#039;WORK:[USER]&#039;&#039;&#039;, set the parameter value to &#039;&#039;&#039;demos/simple&#039;&#039;&#039; or &#039;&#039;&#039;/work/user/demos/simple&#039;&#039;&#039;.&lt;br /&gt;
# Select the &amp;lt;code&amp;gt;&#039;&#039;&#039;projectType&#039;&#039;&#039;&amp;lt;/code&amp;gt; that you need.&lt;br /&gt;
# Specify the &amp;lt;code&amp;gt;&#039;&#039;&#039;projectName&#039;&#039;&#039;&amp;lt;/code&amp;gt;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: do not use spaces or special characters.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;builders&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;headers&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as header files. Changing any of them will result in full project rebuild.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;source&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as source files.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;resource&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized but not included into the [[Auto-generating MMS|auto-generated MMS]] file.&lt;br /&gt;
# Adjust the &amp;lt;code&amp;gt;&#039;&#039;&#039;exclude&#039;&#039;&#039;&amp;lt;/code&amp;gt; field value to list the files similar to the described above but not to be synchronized and compiled.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;listing&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be downloaded after building the project. Files &amp;quot;*.lis,*.map&amp;quot; are required for debugger.&lt;br /&gt;
# If the project depends on already installed libraries, specify them in the &amp;lt;code&amp;gt;&#039;&#039;&#039;addLibraries&#039;&#039;&#039;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&#039;&#039;&#039;addIncludes&#039;&#039;&#039;&amp;lt;/code&amp;gt; &lt;br /&gt;
# Do not forget about &amp;quot;VMS-IDE: Create/Update MMS&amp;quot; after changing project settings&lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=Ib1Fo6cG1Vs&amp;amp;list=PLewDXk9a8laO3cAZFPyZ4bbgcKsJ1qgPo Video tutorial: VMS IDE 1 Starting a Project]. In video &amp;quot;Project Settings&amp;quot; shown at 2:40 - 3:37 time period.&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS IDE]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=Project_Settings&amp;diff=2126</id>
		<title>Project Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=Project_Settings&amp;diff=2126"/>
		<updated>2021-03-04T11:01:19Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* Project Configuration Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Project Configuration Example=&lt;br /&gt;
[[File:&amp;quot;Project Settings&amp;quot; Example.png|thumb|Project Settings]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;project&amp;quot;: {&lt;br /&gt;
        &amp;quot;break&amp;quot;: &amp;quot;C&amp;quot;,&lt;br /&gt;
        &amp;quot;builders&amp;quot;: &amp;quot;*.{mms,com}&amp;quot;,&lt;br /&gt;
        &amp;quot;exclude&amp;quot;: &amp;quot;**/{node_modules,.vscode}/**&amp;quot;,&lt;br /&gt;
        &amp;quot;headers&amp;quot;: &amp;quot;*.h&amp;quot;,&lt;br /&gt;
        &amp;quot;listing&amp;quot;: &amp;quot;*.lis&amp;quot;,&lt;br /&gt;
        &amp;quot;outdir&amp;quot;: &amp;quot;out&amp;quot;,&lt;br /&gt;
        &amp;quot;projectName&amp;quot;: &amp;quot;project&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;executable&amp;quot;,&lt;br /&gt;
        &amp;quot;resource&amp;quot;: &amp;quot;**/resource/**&amp;quot;,&lt;br /&gt;
        &amp;quot;root&amp;quot;: &amp;quot;project&amp;quot;,&lt;br /&gt;
        &amp;quot;source&amp;quot;: &amp;quot;*.{cpp,c}&amp;quot;,&lt;br /&gt;
        &amp;quot;addCompQual&amp;quot;: &amp;quot;/FLOAT=G_FLOAT&amp;quot;,&lt;br /&gt;
        &amp;quot;addCompDef&amp;quot;: &amp;quot;MAXFPS=10,NO_SCREEN,IMAGE_NAME=\&amp;quot;\&amp;quot;\&amp;quot;DEF\&amp;quot;\&amp;quot;\&amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;addLibraries&amp;quot;: &amp;quot;sys$library:IMAGELIB.OLB,sys$library:RDBMSGS.OLB&amp;quot;,&lt;br /&gt;
        &amp;quot;addIncludes&amp;quot;: &amp;quot;sys$library&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Project Settings Description=&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;break&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Keyboard key to pause debugging in VMS IDE debugger. The extension uses combination &amp;lt;code&amp;gt;CTRL+Key&amp;lt;/code&amp;gt; to pause debugging when user press &#039;&#039;&#039;Pause&#039;&#039;&#039; or &amp;lt;code&amp;gt;F6&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;builders&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Mask for files used for building the project. Default is &amp;quot;*.{mms,com}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;exclude&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Folders excluded from synchronization with OpenVMS system.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;headers&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Header files. Default is &amp;quot;*.{h,hpp}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;listing&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Listing files that will be downloaded after the project is built for debugging purpose.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;outdir&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Output directory where object, listing and executable files will be stored when built. Is also used for temporary files. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: Should be only the name of the folder, not a full or relative path. &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;projectName&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Name for the executable file, auto-generated &#039;&#039;&#039;MMS&#039;&#039;&#039; file for builder, OPT file for linker, and COM file for defining logical names. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: Use one word only; do not use spaces or special characters.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;projectType&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Type of the project. &#039;&#039;&#039;Note:&#039;&#039;&#039; the building method depends on the type of the project and its dependencies. Available types: &lt;br /&gt;
** &#039;&#039;&#039;executable&#039;&#039;&#039;, &#039;&#039;&#039;library&#039;&#039;&#039; or &#039;&#039;&#039;shareable&#039;&#039;&#039; for classic languages; &lt;br /&gt;
** &#039;&#039;&#039;java&#039;&#039;&#039;, &#039;&#039;&#039;kotlin&#039;&#039;&#039; or &#039;&#039;&#039;scala&#039;&#039;&#039; for JVM based projects. &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;resource&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Files required for the project, but are not involved in the build process.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Directory of the project on the remote OpenVMS machine in UNIX format relative to the home folder. Also it may be absolute path if it starts with &amp;quot;/&amp;quot;. In this case first word in path is a disk (or logical name). Only default system logical names may be used in &#039;&#039;&#039;root&#039;&#039;&#039;, because login.com is not executed in SFTP session.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;source&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Mask for the source files, e.g. &amp;quot;*.{c,cpp}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addCompQual&#039;&#039;&#039;&amp;lt;/code&amp;gt; - additional qualifiers for compiler, as is.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addCompDef&#039;&#039;&#039;&amp;lt;/code&amp;gt; - additional defines for compiler, strings should be enclosed in triple escaped quotes.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addLibraries&#039;&#039;&#039;&amp;lt;/code&amp;gt; - list of libraries in ODS-5 format, separated by commas.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addIncludes&#039;&#039;&#039;&amp;lt;/code&amp;gt; - list of folders in ODS-5 format, separated by commas.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &#039;&#039;&#039;Note: &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; must not have trailing &amp;quot;/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Adjusting Project Settings=&lt;br /&gt;
# Set the &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; directory. For example, if the project is located in &#039;&#039;&#039;WORK:[USER.DEMOS.SIMPLE]&#039;&#039;&#039; and the home directory is &#039;&#039;&#039;WORK:[USER]&#039;&#039;&#039;, set the parameter value to &#039;&#039;&#039;demos/simple&#039;&#039;&#039; or &#039;&#039;&#039;/work/user/demos/simple&#039;&#039;&#039;.&lt;br /&gt;
# Select the &amp;lt;code&amp;gt;&#039;&#039;&#039;projectType&#039;&#039;&#039;&amp;lt;/code&amp;gt; that you need.&lt;br /&gt;
# Specify the &amp;lt;code&amp;gt;&#039;&#039;&#039;projectName&#039;&#039;&#039;&amp;lt;/code&amp;gt;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: do not use spaces or special characters.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;builders&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;headers&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as header files. Changing any of them will result in full project rebuild.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;source&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as source files.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;resource&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized but not included into the [[Auto-generating MMS|auto-generated MMS]] file.&lt;br /&gt;
# Adjust the &amp;lt;code&amp;gt;&#039;&#039;&#039;exclude&#039;&#039;&#039;&amp;lt;/code&amp;gt; field value to list the files similar to the described above but not to be synchronized and compiled.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;listing&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be downloaded after building the project. Files &amp;quot;*.lis,*.map&amp;quot; are required for debugger.&lt;br /&gt;
# If the project depends on already installed libraries, specify them in the &amp;lt;code&amp;gt;&#039;&#039;&#039;addLibraries&#039;&#039;&#039;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&#039;&#039;&#039;addIncludes&#039;&#039;&#039;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=Ib1Fo6cG1Vs&amp;amp;list=PLewDXk9a8laO3cAZFPyZ4bbgcKsJ1qgPo Video tutorial: VMS IDE 1 Starting a Project]. In video &amp;quot;Project Settings&amp;quot; shown at 2:40 - 3:37 time period.&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS IDE]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=Project_Settings&amp;diff=2125</id>
		<title>Project Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=Project_Settings&amp;diff=2125"/>
		<updated>2021-03-04T11:00:20Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* Adjusting Project Settings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Project Configuration Example=&lt;br /&gt;
[[File:&amp;quot;Project Settings&amp;quot; Example.png|thumb|Project Settings]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;project&amp;quot;: {&lt;br /&gt;
        &amp;quot;break&amp;quot;: &amp;quot;C&amp;quot;,&lt;br /&gt;
        &amp;quot;builders&amp;quot;: &amp;quot;*.{mms,com}&amp;quot;,&lt;br /&gt;
        &amp;quot;exclude&amp;quot;: &amp;quot;**/{node_modules,.vscode}/**&amp;quot;,&lt;br /&gt;
        &amp;quot;headers&amp;quot;: &amp;quot;*.h&amp;quot;,&lt;br /&gt;
        &amp;quot;listing&amp;quot;: &amp;quot;*.lis&amp;quot;,&lt;br /&gt;
        &amp;quot;outdir&amp;quot;: &amp;quot;out&amp;quot;,&lt;br /&gt;
        &amp;quot;projectName&amp;quot;: &amp;quot;project&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;executable&amp;quot;,&lt;br /&gt;
        &amp;quot;resource&amp;quot;: &amp;quot;**/resource/**&amp;quot;,&lt;br /&gt;
        &amp;quot;root&amp;quot;: &amp;quot;project&amp;quot;,&lt;br /&gt;
        &amp;quot;source&amp;quot;: &amp;quot;*.{cpp,c}&amp;quot;,&lt;br /&gt;
        &amp;quot;addCompQual&amp;quot;: &amp;quot;/FLOAT=G_FLOAT&amp;quot;&lt;br /&gt;
        &amp;quot;addCompDef&amp;quot;: &amp;quot;MAXFPS=10,NO_SCREEN,IMAGE_NAME=\&amp;quot;\&amp;quot;\&amp;quot;DEF\&amp;quot;\&amp;quot;\&amp;quot;&amp;quot;&lt;br /&gt;
        &amp;quot;addLibraries&amp;quot;: &amp;quot;sys$library:IMAGELIB.OLB,sys$library:RDBMSGS.OLB&amp;quot;,&lt;br /&gt;
        &amp;quot;addIncludes&amp;quot;: &amp;quot;sys$library&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Project Settings Description=&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;break&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Keyboard key to pause debugging in VMS IDE debugger. The extension uses combination &amp;lt;code&amp;gt;CTRL+Key&amp;lt;/code&amp;gt; to pause debugging when user press &#039;&#039;&#039;Pause&#039;&#039;&#039; or &amp;lt;code&amp;gt;F6&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;builders&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Mask for files used for building the project. Default is &amp;quot;*.{mms,com}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;exclude&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Folders excluded from synchronization with OpenVMS system.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;headers&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Header files. Default is &amp;quot;*.{h,hpp}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;listing&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Listing files that will be downloaded after the project is built for debugging purpose.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;outdir&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Output directory where object, listing and executable files will be stored when built. Is also used for temporary files. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: Should be only the name of the folder, not a full or relative path. &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;projectName&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Name for the executable file, auto-generated &#039;&#039;&#039;MMS&#039;&#039;&#039; file for builder, OPT file for linker, and COM file for defining logical names. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: Use one word only; do not use spaces or special characters.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;projectType&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Type of the project. &#039;&#039;&#039;Note:&#039;&#039;&#039; the building method depends on the type of the project and its dependencies. Available types: &lt;br /&gt;
** &#039;&#039;&#039;executable&#039;&#039;&#039;, &#039;&#039;&#039;library&#039;&#039;&#039; or &#039;&#039;&#039;shareable&#039;&#039;&#039; for classic languages; &lt;br /&gt;
** &#039;&#039;&#039;java&#039;&#039;&#039;, &#039;&#039;&#039;kotlin&#039;&#039;&#039; or &#039;&#039;&#039;scala&#039;&#039;&#039; for JVM based projects. &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;resource&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Files required for the project, but are not involved in the build process.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Directory of the project on the remote OpenVMS machine in UNIX format relative to the home folder. Also it may be absolute path if it starts with &amp;quot;/&amp;quot;. In this case first word in path is a disk (or logical name). Only default system logical names may be used in &#039;&#039;&#039;root&#039;&#039;&#039;, because login.com is not executed in SFTP session.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;source&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Mask for the source files, e.g. &amp;quot;*.{c,cpp}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addCompQual&#039;&#039;&#039;&amp;lt;/code&amp;gt; - additional qualifiers for compiler, as is.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addCompDef&#039;&#039;&#039;&amp;lt;/code&amp;gt; - additional defines for compiler, strings should be enclosed in triple escaped quotes.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addLibraries&#039;&#039;&#039;&amp;lt;/code&amp;gt; - list of libraries in ODS-5 format, separated by commas.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addIncludes&#039;&#039;&#039;&amp;lt;/code&amp;gt; - list of folders in ODS-5 format, separated by commas.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &#039;&#039;&#039;Note: &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; must not have trailing &amp;quot;/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Adjusting Project Settings=&lt;br /&gt;
# Set the &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; directory. For example, if the project is located in &#039;&#039;&#039;WORK:[USER.DEMOS.SIMPLE]&#039;&#039;&#039; and the home directory is &#039;&#039;&#039;WORK:[USER]&#039;&#039;&#039;, set the parameter value to &#039;&#039;&#039;demos/simple&#039;&#039;&#039; or &#039;&#039;&#039;/work/user/demos/simple&#039;&#039;&#039;.&lt;br /&gt;
# Select the &amp;lt;code&amp;gt;&#039;&#039;&#039;projectType&#039;&#039;&#039;&amp;lt;/code&amp;gt; that you need.&lt;br /&gt;
# Specify the &amp;lt;code&amp;gt;&#039;&#039;&#039;projectName&#039;&#039;&#039;&amp;lt;/code&amp;gt;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: do not use spaces or special characters.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;builders&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;headers&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as header files. Changing any of them will result in full project rebuild.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;source&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as source files.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;resource&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized but not included into the [[Auto-generating MMS|auto-generated MMS]] file.&lt;br /&gt;
# Adjust the &amp;lt;code&amp;gt;&#039;&#039;&#039;exclude&#039;&#039;&#039;&amp;lt;/code&amp;gt; field value to list the files similar to the described above but not to be synchronized and compiled.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;listing&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be downloaded after building the project. Files &amp;quot;*.lis,*.map&amp;quot; are required for debugger.&lt;br /&gt;
# If the project depends on already installed libraries, specify them in the &amp;lt;code&amp;gt;&#039;&#039;&#039;addLibraries&#039;&#039;&#039;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&#039;&#039;&#039;addIncludes&#039;&#039;&#039;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=Ib1Fo6cG1Vs&amp;amp;list=PLewDXk9a8laO3cAZFPyZ4bbgcKsJ1qgPo Video tutorial: VMS IDE 1 Starting a Project]. In video &amp;quot;Project Settings&amp;quot; shown at 2:40 - 3:37 time period.&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS IDE]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=Project_Settings&amp;diff=2124</id>
		<title>Project Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=Project_Settings&amp;diff=2124"/>
		<updated>2021-03-04T10:59:42Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* Project Settings Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Project Configuration Example=&lt;br /&gt;
[[File:&amp;quot;Project Settings&amp;quot; Example.png|thumb|Project Settings]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;project&amp;quot;: {&lt;br /&gt;
        &amp;quot;break&amp;quot;: &amp;quot;C&amp;quot;,&lt;br /&gt;
        &amp;quot;builders&amp;quot;: &amp;quot;*.{mms,com}&amp;quot;,&lt;br /&gt;
        &amp;quot;exclude&amp;quot;: &amp;quot;**/{node_modules,.vscode}/**&amp;quot;,&lt;br /&gt;
        &amp;quot;headers&amp;quot;: &amp;quot;*.h&amp;quot;,&lt;br /&gt;
        &amp;quot;listing&amp;quot;: &amp;quot;*.lis&amp;quot;,&lt;br /&gt;
        &amp;quot;outdir&amp;quot;: &amp;quot;out&amp;quot;,&lt;br /&gt;
        &amp;quot;projectName&amp;quot;: &amp;quot;project&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;executable&amp;quot;,&lt;br /&gt;
        &amp;quot;resource&amp;quot;: &amp;quot;**/resource/**&amp;quot;,&lt;br /&gt;
        &amp;quot;root&amp;quot;: &amp;quot;project&amp;quot;,&lt;br /&gt;
        &amp;quot;source&amp;quot;: &amp;quot;*.{cpp,c}&amp;quot;,&lt;br /&gt;
        &amp;quot;addCompQual&amp;quot;: &amp;quot;/FLOAT=G_FLOAT&amp;quot;&lt;br /&gt;
        &amp;quot;addCompDef&amp;quot;: &amp;quot;MAXFPS=10,NO_SCREEN,IMAGE_NAME=\&amp;quot;\&amp;quot;\&amp;quot;DEF\&amp;quot;\&amp;quot;\&amp;quot;&amp;quot;&lt;br /&gt;
        &amp;quot;addLibraries&amp;quot;: &amp;quot;sys$library:IMAGELIB.OLB,sys$library:RDBMSGS.OLB&amp;quot;,&lt;br /&gt;
        &amp;quot;addIncludes&amp;quot;: &amp;quot;sys$library&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Project Settings Description=&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;break&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Keyboard key to pause debugging in VMS IDE debugger. The extension uses combination &amp;lt;code&amp;gt;CTRL+Key&amp;lt;/code&amp;gt; to pause debugging when user press &#039;&#039;&#039;Pause&#039;&#039;&#039; or &amp;lt;code&amp;gt;F6&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;builders&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Mask for files used for building the project. Default is &amp;quot;*.{mms,com}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;exclude&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Folders excluded from synchronization with OpenVMS system.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;headers&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Header files. Default is &amp;quot;*.{h,hpp}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;listing&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Listing files that will be downloaded after the project is built for debugging purpose.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;outdir&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Output directory where object, listing and executable files will be stored when built. Is also used for temporary files. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: Should be only the name of the folder, not a full or relative path. &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;projectName&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Name for the executable file, auto-generated &#039;&#039;&#039;MMS&#039;&#039;&#039; file for builder, OPT file for linker, and COM file for defining logical names. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: Use one word only; do not use spaces or special characters.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;projectType&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Type of the project. &#039;&#039;&#039;Note:&#039;&#039;&#039; the building method depends on the type of the project and its dependencies. Available types: &lt;br /&gt;
** &#039;&#039;&#039;executable&#039;&#039;&#039;, &#039;&#039;&#039;library&#039;&#039;&#039; or &#039;&#039;&#039;shareable&#039;&#039;&#039; for classic languages; &lt;br /&gt;
** &#039;&#039;&#039;java&#039;&#039;&#039;, &#039;&#039;&#039;kotlin&#039;&#039;&#039; or &#039;&#039;&#039;scala&#039;&#039;&#039; for JVM based projects. &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;resource&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Files required for the project, but are not involved in the build process.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Directory of the project on the remote OpenVMS machine in UNIX format relative to the home folder. Also it may be absolute path if it starts with &amp;quot;/&amp;quot;. In this case first word in path is a disk (or logical name). Only default system logical names may be used in &#039;&#039;&#039;root&#039;&#039;&#039;, because login.com is not executed in SFTP session.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;source&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Mask for the source files, e.g. &amp;quot;*.{c,cpp}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addCompQual&#039;&#039;&#039;&amp;lt;/code&amp;gt; - additional qualifiers for compiler, as is.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addCompDef&#039;&#039;&#039;&amp;lt;/code&amp;gt; - additional defines for compiler, strings should be enclosed in triple escaped quotes.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addLibraries&#039;&#039;&#039;&amp;lt;/code&amp;gt; - list of libraries in ODS-5 format, separated by commas.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addIncludes&#039;&#039;&#039;&amp;lt;/code&amp;gt; - list of folders in ODS-5 format, separated by commas.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &#039;&#039;&#039;Note: &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; must not have trailing &amp;quot;/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Adjusting Project Settings=&lt;br /&gt;
# Set the &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; directory. For example, if the project is located in &#039;&#039;&#039;WORK:[USER.DEMOS.SIMPLE]&#039;&#039;&#039; and the home directory is &#039;&#039;&#039;WORK:[USER]&#039;&#039;&#039;, set the parameter value to &#039;&#039;&#039;demos/simple&#039;&#039;&#039; or &#039;&#039;&#039;/work/user/demos/simple&#039;&#039;&#039;.&lt;br /&gt;
# Select the &amp;lt;code&amp;gt;&#039;&#039;&#039;projectType&#039;&#039;&#039;&amp;lt;/code&amp;gt; that you need.&lt;br /&gt;
# Specify the &amp;lt;code&amp;gt;&#039;&#039;&#039;projectName&#039;&#039;&#039;&amp;lt;/code&amp;gt;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: do not use spaces or special characters.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;builders&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;headers&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as header files. Changing any of them will result in full project rebuild.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;source&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as source files.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;resource&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized but not included into the [[Auto-generating MMS|auto-generated MMS]] file.&lt;br /&gt;
# Adjust the &amp;lt;code&amp;gt;&#039;&#039;&#039;exclude&#039;&#039;&#039;&amp;lt;/code&amp;gt; field value to list the files similar to the described above but not to be synchronized and compiled.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;listing&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be downloaded after building the project. Files &amp;quot;*.lis,*.map&amp;quot; are required for debugger.&lt;br /&gt;
# If the project depends on already installed libraries, specify the in the &amp;lt;code&amp;gt;&#039;&#039;&#039;addLibraries&#039;&#039;&#039;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&#039;&#039;&#039;addIncludes&#039;&#039;&#039;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=Ib1Fo6cG1Vs&amp;amp;list=PLewDXk9a8laO3cAZFPyZ4bbgcKsJ1qgPo Video tutorial: VMS IDE 1 Starting a Project]. In video &amp;quot;Project Settings&amp;quot; shown at 2:40 - 3:37 time period.&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS IDE]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=Project_Settings&amp;diff=2123</id>
		<title>Project Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=Project_Settings&amp;diff=2123"/>
		<updated>2021-03-04T10:56:40Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* Project Configuration Example */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Project Configuration Example=&lt;br /&gt;
[[File:&amp;quot;Project Settings&amp;quot; Example.png|thumb|Project Settings]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;project&amp;quot;: {&lt;br /&gt;
        &amp;quot;break&amp;quot;: &amp;quot;C&amp;quot;,&lt;br /&gt;
        &amp;quot;builders&amp;quot;: &amp;quot;*.{mms,com}&amp;quot;,&lt;br /&gt;
        &amp;quot;exclude&amp;quot;: &amp;quot;**/{node_modules,.vscode}/**&amp;quot;,&lt;br /&gt;
        &amp;quot;headers&amp;quot;: &amp;quot;*.h&amp;quot;,&lt;br /&gt;
        &amp;quot;listing&amp;quot;: &amp;quot;*.lis&amp;quot;,&lt;br /&gt;
        &amp;quot;outdir&amp;quot;: &amp;quot;out&amp;quot;,&lt;br /&gt;
        &amp;quot;projectName&amp;quot;: &amp;quot;project&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;executable&amp;quot;,&lt;br /&gt;
        &amp;quot;resource&amp;quot;: &amp;quot;**/resource/**&amp;quot;,&lt;br /&gt;
        &amp;quot;root&amp;quot;: &amp;quot;project&amp;quot;,&lt;br /&gt;
        &amp;quot;source&amp;quot;: &amp;quot;*.{cpp,c}&amp;quot;,&lt;br /&gt;
        &amp;quot;addCompQual&amp;quot;: &amp;quot;/FLOAT=G_FLOAT&amp;quot;&lt;br /&gt;
        &amp;quot;addCompDef&amp;quot;: &amp;quot;MAXFPS=10,NO_SCREEN,IMAGE_NAME=\&amp;quot;\&amp;quot;\&amp;quot;DEF\&amp;quot;\&amp;quot;\&amp;quot;&amp;quot;&lt;br /&gt;
        &amp;quot;addLibraries&amp;quot;: &amp;quot;sys$library:IMAGELIB.OLB,sys$library:RDBMSGS.OLB&amp;quot;,&lt;br /&gt;
        &amp;quot;addIncludes&amp;quot;: &amp;quot;sys$library&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Project Settings Description=&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;break&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Keyboard key to pause debugging in VMS IDE debugger. The extension uses combination &amp;lt;code&amp;gt;CTRL+Key&amp;lt;/code&amp;gt; to pause debugging when user press &#039;&#039;&#039;Pause&#039;&#039;&#039; or &amp;lt;code&amp;gt;F6&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;builders&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Mask for files used for building the project. Default is &amp;quot;*.{mms,com}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;exclude&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Folders excluded from synchronization with OpenVMS system.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;headers&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Header files. Default is &amp;quot;*.{h,hpp}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;listing&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Listing files that will be downloaded after the project is built for debugging purpose.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;outdir&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Output directory where object, listing and executable files will be stored when built. Is also used for temporary files. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: Should be only the name of the folder, not a full or relative path. &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;projectName&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Name for the executable file, auto-generated &#039;&#039;&#039;MMS&#039;&#039;&#039; file for builder, OPT file for linker, and COM file for defining logical names. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: Use one word only; do not use spaces or special characters.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;projectType&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Type of the project. &#039;&#039;&#039;Note:&#039;&#039;&#039; the building method depends on the type of the project and its dependencies. Available types: &lt;br /&gt;
** &#039;&#039;&#039;executable&#039;&#039;&#039;, &#039;&#039;&#039;library&#039;&#039;&#039; or &#039;&#039;&#039;shareable&#039;&#039;&#039; for classic languages; &lt;br /&gt;
** &#039;&#039;&#039;java&#039;&#039;&#039;, &#039;&#039;&#039;kotlin&#039;&#039;&#039; or &#039;&#039;&#039;scala&#039;&#039;&#039; for JVM based projects. &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;resource&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Files required for the project, but are not involved in the build process.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Directory of the project on the remote OpenVMS machine in UNIX format relative to the home folder. Also it may be absolute path if it starts with &amp;quot;/&amp;quot;. In this case first word in path is a disk (or logical name). Only default system logical names may be used in &#039;&#039;&#039;root&#039;&#039;&#039;, because login.com is not executed in SFTP session.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;source&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Mask for the source files, e.g. &amp;quot;*.{c,cpp}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addLibraries&#039;&#039;&#039;&amp;lt;/code&amp;gt; - list of libraries in ODS-5 format, separated by commas.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addIncludes&#039;&#039;&#039;&amp;lt;/code&amp;gt; - list of folders in ODS-5 format, separated by commas.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &#039;&#039;&#039;Note: &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; must not have trailing &amp;quot;/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Adjusting Project Settings=&lt;br /&gt;
# Set the &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; directory. For example, if the project is located in &#039;&#039;&#039;WORK:[USER.DEMOS.SIMPLE]&#039;&#039;&#039; and the home directory is &#039;&#039;&#039;WORK:[USER]&#039;&#039;&#039;, set the parameter value to &#039;&#039;&#039;demos/simple&#039;&#039;&#039; or &#039;&#039;&#039;/work/user/demos/simple&#039;&#039;&#039;.&lt;br /&gt;
# Select the &amp;lt;code&amp;gt;&#039;&#039;&#039;projectType&#039;&#039;&#039;&amp;lt;/code&amp;gt; that you need.&lt;br /&gt;
# Specify the &amp;lt;code&amp;gt;&#039;&#039;&#039;projectName&#039;&#039;&#039;&amp;lt;/code&amp;gt;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: do not use spaces or special characters.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;builders&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;headers&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as header files. Changing any of them will result in full project rebuild.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;source&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as source files.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;resource&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized but not included into the [[Auto-generating MMS|auto-generated MMS]] file.&lt;br /&gt;
# Adjust the &amp;lt;code&amp;gt;&#039;&#039;&#039;exclude&#039;&#039;&#039;&amp;lt;/code&amp;gt; field value to list the files similar to the described above but not to be synchronized and compiled.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;listing&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be downloaded after building the project. Files &amp;quot;*.lis,*.map&amp;quot; are required for debugger.&lt;br /&gt;
# If the project depends on already installed libraries, specify the in the &amp;lt;code&amp;gt;&#039;&#039;&#039;addLibraries&#039;&#039;&#039;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&#039;&#039;&#039;addIncludes&#039;&#039;&#039;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=Ib1Fo6cG1Vs&amp;amp;list=PLewDXk9a8laO3cAZFPyZ4bbgcKsJ1qgPo Video tutorial: VMS IDE 1 Starting a Project]. In video &amp;quot;Project Settings&amp;quot; shown at 2:40 - 3:37 time period.&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS IDE]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS_Python_compatibility_issues&amp;diff=2100</id>
		<title>VMS Python compatibility issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS_Python_compatibility_issues&amp;diff=2100"/>
		<updated>2020-09-04T04:18:40Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#File system&lt;br /&gt;
##Directories and files with the same name are allowed&lt;br /&gt;
##File has a version, therefore two files with the same name might have different content&lt;br /&gt;
##Shared stream I/O does not work. &lt;br /&gt;
##To guarantee the file content is on the disk user have to use &amp;lt;code&amp;gt;fsync()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
##Because of using logical names the real file path may be different from path used to open file.&lt;br /&gt;
##File has no access time attribute.&lt;br /&gt;
##Changing the file permissions also changes its modification time.&lt;br /&gt;
##Changing content of directory does not change directory modification time.&lt;br /&gt;
##File has four rights bits - read, write, execute and delete. In unix it has three of it - read, write and execute. &lt;br /&gt;
##‘.DIR’ extension is reserved&lt;br /&gt;
##Non-blocking file IO does not supported in CRTL.&lt;br /&gt;
##There are a lot of issues with symbolic link implementation&lt;br /&gt;
##Symbol &#039;$&#039; is usual for file and directory names&lt;br /&gt;
##OpenVMS &amp;lt;code&amp;gt;chmod(0)&amp;lt;/code&amp;gt; sets user&#039;s default permissions, not resets them&lt;br /&gt;
##To delete directory user has to have ‘delete’ permission for this directory&lt;br /&gt;
##OpenVMS creates all intermediate directories on &amp;lt;code&amp;gt;mkdir()&amp;lt;/code&amp;gt;&lt;br /&gt;
#Process&lt;br /&gt;
##There is no normal &amp;lt;code&amp;gt;fork()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;spawn()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
##Pipes are created via mailbox and have a lot of compatibility issues.&lt;br /&gt;
##If child has threads, each thread posts &#039;END-OF-PIPE&#039; when it finishes.&lt;br /&gt;
##There is no normal &amp;lt;code&amp;gt;select()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;poll()&amp;lt;/code&amp;gt; e.t.c&lt;br /&gt;
##&amp;lt;code&amp;gt;siginterrupt()&amp;lt;/code&amp;gt; is not supported&lt;br /&gt;
##A lot of issues with signals&lt;br /&gt;
##Interrupting I/O operation may hang&lt;br /&gt;
##There is no root user with zero uid&lt;br /&gt;
##There is no unix commands like: echo, exit …&lt;br /&gt;
##OpenVMS cannot handle recursion overflow properly - just crashes&lt;br /&gt;
#Sockets&lt;br /&gt;
##&amp;lt;code&amp;gt;AF_UNIX&amp;lt;/code&amp;gt; has different meaning&lt;br /&gt;
##Binding socket to empty address fails (wildcard resolved to multiple address).&lt;br /&gt;
##&amp;lt;code&amp;gt;getpeername()&amp;lt;/code&amp;gt; returns ‘0.0.0.0’ instead of error&lt;br /&gt;
##OpenVMS crashed on &amp;lt;code&amp;gt;socket.socket.sendall&amp;lt;/code&amp;gt;&lt;br /&gt;
#Time&lt;br /&gt;
##&amp;lt;code&amp;gt;time_t&amp;lt;/code&amp;gt; is unsigned&lt;br /&gt;
##&amp;lt;code&amp;gt;strftime()&amp;lt;/code&amp;gt;&lt;br /&gt;
##*Does not support %G format&lt;br /&gt;
##*Undefined behavior when format ends with &#039;%&#039;&lt;br /&gt;
##*‘%4Y’ is padded with spaces&lt;br /&gt;
#Miscellaneous&lt;br /&gt;
##Environment variables have unusual implementation - through logical names. There is no appropriate way to get all environment variables.&lt;br /&gt;
##OpenVMS sqlite3 port does not support &amp;quot;OR ROLLBACK&amp;quot;&lt;br /&gt;
##Program prints crush dump&lt;br /&gt;
##&amp;lt;code&amp;gt;locale.strxfrm()&amp;lt;/code&amp;gt; works unusual&lt;br /&gt;
#Compiler&lt;br /&gt;
##&amp;lt;code&amp;gt;uint_ptr&amp;lt;/code&amp;gt; is always 64 bit, void* is 32 bit or 64 bit&lt;br /&gt;
##Compiler does not support relative include paths&lt;br /&gt;
----&lt;br /&gt;
[[Category:VMS IDE]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS_Python_compatibility_issues&amp;diff=2099</id>
		<title>VMS Python compatibility issues</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS_Python_compatibility_issues&amp;diff=2099"/>
		<updated>2020-09-04T04:17:45Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: Created page with &amp;quot;#File system ##Directories and files with the same name are allowed ##File has a version, therefore two files with the same name might have different content ##Shared stream I...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#File system&lt;br /&gt;
##Directories and files with the same name are allowed&lt;br /&gt;
##File has a version, therefore two files with the same name might have different content&lt;br /&gt;
##Shared stream I/O does not work. &lt;br /&gt;
##To guarantee the file content is on the disk user have to use &amp;lt;code&amp;gt;fsync()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
##Because of using logical names the real file path may be different from path used to open file.&lt;br /&gt;
##File has no access time attribute.&lt;br /&gt;
##Changing the file permissions also changes its modification time.&lt;br /&gt;
##Changing content of directory does not change directory modification time.&lt;br /&gt;
##File has four rights bits - read, write, execute and delete. In unix it has three of it - read, write and execute. &lt;br /&gt;
##‘.DIR’ extension is reserved&lt;br /&gt;
##Non-blocking file IO does not supported in CRTL.&lt;br /&gt;
##There are a lot of issues with symbolic link implementation&lt;br /&gt;
##Symbol &#039;$&#039; is usual for file and directory names&lt;br /&gt;
##OpenVMS &amp;lt;code&amp;gt;chmod(0)&amp;lt;/code&amp;gt; sets user&#039;s default permissions, not resets them&lt;br /&gt;
##To delete directory user has to have ‘delete’ permission for this directory&lt;br /&gt;
##OpenVMS creates all intermediate directories on &amp;lt;code&amp;gt;mkdir()&amp;lt;/code&amp;gt;&lt;br /&gt;
#Process&lt;br /&gt;
##There is no normal &amp;lt;code&amp;gt;fork()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;spawn()&amp;lt;/code&amp;gt; function.&lt;br /&gt;
##Pipes are created via mailbox and have a lot of compatibility issues.&lt;br /&gt;
##If child has threads, each thread posts &#039;END-OF-PIPE&#039; when it finishes.&lt;br /&gt;
##There is no normal &amp;lt;code&amp;gt;select()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;poll()&amp;lt;/code&amp;gt; e.t.c&lt;br /&gt;
##&amp;lt;code&amp;gt;siginterrupt()&amp;lt;/code&amp;gt; is not supported&lt;br /&gt;
##A lot of issues with signals&lt;br /&gt;
##Interrupting I/O operation may hang&lt;br /&gt;
##There is no root user with zero uid&lt;br /&gt;
##There is no unix commands like: echo, exit …&lt;br /&gt;
##OpenVMS cannot handle recursion overflow properly - just crashes&lt;br /&gt;
#Sockets&lt;br /&gt;
##&amp;lt;code&amp;gt;AF_UNIX&amp;lt;/code&amp;gt; has different meaning&lt;br /&gt;
##Binding socket to empty address fails (wildcard resolved to multiple address).&lt;br /&gt;
##&amp;lt;code&amp;gt;getpeername()&amp;lt;/code&amp;gt; returns ‘0.0.0.0’ instead of error&lt;br /&gt;
##OpenVMS crashed on &amp;lt;code&amp;gt;socket.socket.sendall&amp;lt;/code&amp;gt;&lt;br /&gt;
#Time&lt;br /&gt;
##&amp;lt;code&amp;gt;time_t&amp;lt;/code&amp;gt; is unsigned&lt;br /&gt;
##&amp;lt;code&amp;gt;strftime()&amp;lt;/code&amp;gt;&lt;br /&gt;
###Does not support %G format&lt;br /&gt;
###Undefined behavior when format ends with &#039;%&#039;&lt;br /&gt;
###‘%4Y’ is padded with spaces&lt;br /&gt;
#Miscellaneous&lt;br /&gt;
##Environment variables have unusual implementation - through logical names. There is no appropriate way to get all environment variables.&lt;br /&gt;
##OpenVMS sqlite3 port does not support &amp;quot;OR ROLLBACK&amp;quot;&lt;br /&gt;
##Program prints crush dump&lt;br /&gt;
##&amp;lt;code&amp;gt;locale.strxfrm()&amp;lt;/code&amp;gt; works unusual&lt;br /&gt;
#Compiler&lt;br /&gt;
##&amp;lt;code&amp;gt;uint_ptr&amp;lt;/code&amp;gt; is always 64 bit, void* is 32 bit or 64 bit&lt;br /&gt;
##Compiler does not support relative include paths&lt;br /&gt;
----&lt;br /&gt;
[[Category:VMS IDE]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2098</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2098"/>
		<updated>2020-09-04T04:10:31Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
----&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
----&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
: &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
;returns&lt;br /&gt;
:List of paths in Unix format&lt;br /&gt;
----&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
: &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
;returns&lt;br /&gt;
:Environment variable value&lt;br /&gt;
----&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
;returns&lt;br /&gt;
:The number of seconds left to the end of the sleep period if sleep is interrupted. &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
----&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
;returns&lt;br /&gt;
:Requested value&lt;br /&gt;
----&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
: &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
: &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
:* 0 - Directory allowed&lt;br /&gt;
:* 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
:* 2 - Force expansion of the string as a directory name&lt;br /&gt;
;returns&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
----&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Unix time&lt;br /&gt;
----&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
;returns&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
&amp;lt;br&amp;gt;Provides functions for working with the list.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:New empty item list&lt;br /&gt;
----&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
;returns&lt;br /&gt;
:OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
;returns&lt;br /&gt;
:The size of the specified item list&lt;br /&gt;
----&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value&lt;br /&gt;
----&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Hexadecimal string&lt;br /&gt;
----&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
: &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
;returns&lt;br /&gt;
:String&lt;br /&gt;
----&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
: &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value of the specified byte&lt;br /&gt;
----&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
:*&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
: &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
: &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
: another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
----&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
----&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
: &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
----&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
;returns&lt;br /&gt;
:If successful, it does not return control to the calling program.&lt;br /&gt;
----&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
: &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
:* Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
:* Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
----&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
----&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
: &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
: &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
: &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
: &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be deleted&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt; name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying search criteria&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; found device name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
----&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; UIC&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
:* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; - use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; UIC string&lt;br /&gt;
----&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt; the name of the device for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the device is to be returned.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification&lt;br /&gt;
: &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt; name of the process&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
----&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt; identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; lock identification&lt;br /&gt;
----&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt; identification of the message to be retrieved&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; message string&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; optional information&lt;br /&gt;
----&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt; function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context stream for this call&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
----&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt; OpenVMS Cluster system identification&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; name of the node about which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; csid&lt;br /&gt;
----&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; current system time&lt;br /&gt;
----&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user to get authorization information for&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt; time at which the process to be awakened&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; pid&lt;br /&gt;
----&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds a specified holder record to a target identifier.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; target identifier granted to the specified holder&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder identifier that is granted access to the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name to be added to the rights database&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; identifier to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;, identifier value assigned by the system&lt;br /&gt;
----&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder whose identifiers to be found&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, identifier value that was found&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt; attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value to be cleared&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name of the process that is to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt; completion code value to be used as the exit parameter&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; identifier of the holder being deleted&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the identifier deleted from rights database&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user whose UAF record is modified&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt; description of an intruder or suspect&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;, user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;, quadword time format indicating the time when the record will expire&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;, the types of the matched record and the status of the suspect&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;, number of login failures or break-in attempts&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;Oracle RDB&#039;&#039;&#039; functions.&lt;br /&gt;
----&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the RDB database in OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt; path or logical name&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt; index&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting string&lt;br /&gt;
----&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name for the cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting cursor&lt;br /&gt;
----&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting error string&lt;br /&gt;
----&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt; prepared SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success, end of stream&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as an list of strings.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:The list of strings&lt;br /&gt;
----&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
----&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Number of columns&lt;br /&gt;
----&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting prepared statement&lt;br /&gt;
----&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting SQL code&lt;br /&gt;
----&lt;br /&gt;
[[Category:VMS IDE]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2097</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2097"/>
		<updated>2020-09-01T05:56:09Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
----&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
----&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
: &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
;returns&lt;br /&gt;
:List of paths in Unix format&lt;br /&gt;
----&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
: &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
;returns&lt;br /&gt;
:Environment variable value&lt;br /&gt;
----&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
;returns&lt;br /&gt;
:The number of seconds left to the end of the sleep period if sleep is interrupted. &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
----&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
;returns&lt;br /&gt;
:Requested value&lt;br /&gt;
----&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
: &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
: &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
:* 0 - Directory allowed&lt;br /&gt;
:* 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
:* 2 - Force expansion of the string as a directory name&lt;br /&gt;
;returns&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
----&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Unix time&lt;br /&gt;
----&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
;returns&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
&amp;lt;br&amp;gt;Provides functions for working with the list.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:New empty item list&lt;br /&gt;
----&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
;returns&lt;br /&gt;
:OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
;returns&lt;br /&gt;
:The size of the specified item list&lt;br /&gt;
----&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value&lt;br /&gt;
----&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Hexadecimal string&lt;br /&gt;
----&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
: &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
;returns&lt;br /&gt;
:String&lt;br /&gt;
----&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
: &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value of the specified byte&lt;br /&gt;
----&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
:*&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
: &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
: &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
: another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
----&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
----&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
: &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
----&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
;returns&lt;br /&gt;
:If successful, it does not return control to the calling program.&lt;br /&gt;
----&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
: &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
:* Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
:* Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
----&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
----&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
: &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
: &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
: &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
: &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be deleted&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt; name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying search criteria&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; found device name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
----&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; UIC&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
:* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; - use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; UIC string&lt;br /&gt;
----&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt; the name of the device for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the device is to be returned.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification&lt;br /&gt;
: &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt; name of the process&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
----&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt; identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; lock identification&lt;br /&gt;
----&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt; identification of the message to be retrieved&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; message string&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; optional information&lt;br /&gt;
----&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt; function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context stream for this call&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
----&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt; OpenVMS Cluster system identification&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; name of the node about which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; csid&lt;br /&gt;
----&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; current system time&lt;br /&gt;
----&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user to get authorization information for&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt; time at which the process to be awakened&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; pid&lt;br /&gt;
----&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds a specified holder record to a target identifier.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; target identifier granted to the specified holder&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder identifier that is granted access to the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name to be added to the rights database&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; identifier to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;, identifier value assigned by the system&lt;br /&gt;
----&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder whose identifiers to be found&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, identifier value that was found&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt; attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value to be cleared&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name of the process that is to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt; completion code value to be used as the exit parameter&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; identifier of the holder being deleted&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the identifier deleted from rights database&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user whose UAF record is modified&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt; description of an intruder or suspect&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;, user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;, quadword time format indicating the time when the record will expire&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;, the types of the matched record and the status of the suspect&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;, number of login failures or break-in attempts&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;Oracle RDB&#039;&#039;&#039; functions.&lt;br /&gt;
----&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the RDB database in OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt; path or logical name&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt; index&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting string&lt;br /&gt;
----&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name for the cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting cursor&lt;br /&gt;
----&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting error string&lt;br /&gt;
----&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt; prepared SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success, end of stream&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as an list of strings.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:The list of strings&lt;br /&gt;
----&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
----&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Number of columns&lt;br /&gt;
----&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting prepared statement&lt;br /&gt;
----&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting SQL code&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2096</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2096"/>
		<updated>2020-09-01T05:54:55Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
----&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
----&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
: &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
;returns&lt;br /&gt;
:List of paths in Unix format&lt;br /&gt;
----&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
: &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
;returns&lt;br /&gt;
:Environment variable value&lt;br /&gt;
----&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
;returns&lt;br /&gt;
:The number of seconds left to the end of the sleep period if sleep is interrupted. &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
----&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
;returns&lt;br /&gt;
:Requested value&lt;br /&gt;
----&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
: &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
: &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
:* 0 - Directory allowed&lt;br /&gt;
:* 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
:* 2 - Force expansion of the string as a directory name&lt;br /&gt;
;returns&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
----&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Unix time&lt;br /&gt;
----&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
;returns&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
&amp;lt;br&amp;gt;Provides functions for working with the list.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:New empty item list&lt;br /&gt;
----&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
;returns&lt;br /&gt;
:OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
;returns&lt;br /&gt;
:The size of the specified item list&lt;br /&gt;
----&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value&lt;br /&gt;
----&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Hexadecimal string&lt;br /&gt;
----&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
: &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
;returns&lt;br /&gt;
:String&lt;br /&gt;
----&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
: &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value of the specified byte&lt;br /&gt;
----&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
:*&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
: &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
: &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
: another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
----&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
----&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
: &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
----&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
;returns&lt;br /&gt;
:If successful, it does not return control to the calling program.&lt;br /&gt;
----&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
: &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
:* Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
:* Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
----&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
----&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
: &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
: &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
: &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
: &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be deleted&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt; name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying search criteria&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; found device name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
----&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; UIC&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
:* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; - use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; UIC string&lt;br /&gt;
----&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt; the name of the device for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the device is to be returned.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification&lt;br /&gt;
: &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt; name of the process&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
----&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt; identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; lock identification&lt;br /&gt;
----&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt; identification of the message to be retrieved&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; message string&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; optional information&lt;br /&gt;
----&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt; function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context stream for this call&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
----&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt; OpenVMS Cluster system identification&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; name of the node about which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; csid&lt;br /&gt;
----&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; current system time&lt;br /&gt;
----&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user to get authorization information for&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt; time at which the process to be awakened&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; pid&lt;br /&gt;
----&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds a specified holder record to a target identifier.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; target identifier granted to the specified holder&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder identifier that is granted access to the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name to be added to the rights database&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; identifier to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;, identifier value assigned by the system&lt;br /&gt;
----&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder whose identifiers to be found&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, identifier value that was found&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt; attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value to be cleared&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name of the process that is to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt; completion code value to be used as the exit parameter&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; identifier of the holder being deleted&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the identifier deleted from rights database&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user whose UAF record is modified&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt; description of an intruder or suspect&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;, user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;, quadword time format indicating the time when the record will expire&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;, the types of the matched record and the status of the suspect&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;, number of login failures or break-in attempts&lt;br /&gt;
----&lt;br /&gt;
== rdb ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;Oracle RDB&#039;&#039;&#039; functions.&lt;br /&gt;
----&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the RDB database in OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt; path or logical name&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt; index&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting string&lt;br /&gt;
----&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name for the cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting cursor&lt;br /&gt;
----&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting error string&lt;br /&gt;
----&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt; prepared SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success, end of stream&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as an list of strings.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:The list of strings&lt;br /&gt;
----&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
----&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Number of columns&lt;br /&gt;
----&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting prepared statement&lt;br /&gt;
----&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code:&lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
:* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
----&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:Resulting SQL code&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2095</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2095"/>
		<updated>2020-09-01T05:47:53Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
----&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
----&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
: &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
;returns&lt;br /&gt;
:List of paths in Unix format&lt;br /&gt;
----&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
: &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
;returns&lt;br /&gt;
:Environment variable value&lt;br /&gt;
----&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
;returns&lt;br /&gt;
:The number of seconds left to the end of the sleep period if sleep is interrupted. &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
----&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
;returns&lt;br /&gt;
:Requested value&lt;br /&gt;
----&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
: &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
: &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
:* 0 - Directory allowed&lt;br /&gt;
:* 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
:* 2 - Force expansion of the string as a directory name&lt;br /&gt;
;returns&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
----&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
;returns&lt;br /&gt;
:Unix time&lt;br /&gt;
----&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
;returns&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
&amp;lt;br&amp;gt;Provides functions for working with the list.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:New empty item list&lt;br /&gt;
----&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
;returns&lt;br /&gt;
:OpenVMS system time&lt;br /&gt;
----&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
;returns&lt;br /&gt;
:The size of the specified item list&lt;br /&gt;
----&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value&lt;br /&gt;
----&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
;returns&lt;br /&gt;
:Hexadecimal string&lt;br /&gt;
----&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
: &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
;returns&lt;br /&gt;
:String&lt;br /&gt;
----&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
: &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
: &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
;returns&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
: &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
: &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
;returns&lt;br /&gt;
:Integer value of the specified byte&lt;br /&gt;
----&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
:*&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
:*&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
: &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
: &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
: &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
: another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
----&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
;returns&lt;br /&gt;
:Status code of the operation&lt;br /&gt;
----&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
;parameters&lt;br /&gt;
:&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
----&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
: &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
----&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
;returns&lt;br /&gt;
:If successful, it does not return control to the calling program.&lt;br /&gt;
----&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
: &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:*&amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:*&amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
----&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
:* Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
:* Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
----&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
----&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
----&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
: &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
: &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
: &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
: &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
----&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
: &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
: &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
: &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
----&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
: &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be deleted&lt;br /&gt;
: &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt; name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying search criteria&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; found device name&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
----&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; UIC&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
:* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
:* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; - use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; UIC string&lt;br /&gt;
----&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt; the name of the device for which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the device is to be returned.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
;returns&lt;br /&gt;
:Status code&lt;br /&gt;
----&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification&lt;br /&gt;
: &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt; name of the process&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
;returns&lt;br /&gt;
:The list:&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
:* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
----&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt; identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
;returns&lt;br /&gt;
The list:&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; lock identification&lt;br /&gt;
&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt; identification of the message to be retrieved&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
;returns&lt;br /&gt;
The list:&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
: &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; message string&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; optional information&lt;br /&gt;
&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt; function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context stream for this call&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
;returns&lt;br /&gt;
The list:&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
;returns&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt; OpenVMS Cluster system identification&lt;br /&gt;
: &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; name of the node about which information is to be returned&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
;returns&lt;br /&gt;
The list:&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; csid&lt;br /&gt;
&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
The list:&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; current system time&lt;br /&gt;
&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user to get authorization information for&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
;returns&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name of the process to be awakened&lt;br /&gt;
: &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt; time at which the process to be awakened&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
;returns&lt;br /&gt;
The list:&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; pid&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds a specified holder record to a target identifier.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; target identifier granted to the specified holder&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder identifier that is granted access to the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
;returns&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name to be added to the rights database&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; identifier to be created&lt;br /&gt;
: &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
;returns&lt;br /&gt;
The list:&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;, identifier value assigned by the system&lt;br /&gt;
&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder whose identifiers to be found&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
;returns&lt;br /&gt;
The list:&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, identifier value that was found&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt; attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value to be cleared&lt;br /&gt;
;returns&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name of the process that is to force exit&lt;br /&gt;
: &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt; completion code value to be used as the exit parameter&lt;br /&gt;
;returns&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the target identifier&lt;br /&gt;
: &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; identifier of the holder being deleted&lt;br /&gt;
;returns&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the identifier deleted from rights database&lt;br /&gt;
;returns&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user whose UAF record is modified&lt;br /&gt;
: &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt; description of an intruder or suspect&lt;br /&gt;
: &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
: &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
;returns&lt;br /&gt;
The list:&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
: &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;, user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;, quadword time format indicating the time when the record will expire&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;, the types of the matched record and the status of the suspect&lt;br /&gt;
: &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;, number of login failures or break-in attempts&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
&amp;lt;br&amp;gt;Wraps the &#039;&#039;&#039;Oracle RDB&#039;&#039;&#039; functions.&lt;br /&gt;
----&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the RDB database in OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt; path or logical name&lt;br /&gt;
;returns&lt;br /&gt;
Status code:&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
: &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
Status code:&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
: &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
Status code:&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
: &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt; index&lt;br /&gt;
;returns&lt;br /&gt;
Resulting string&lt;br /&gt;
&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name for the cursor&lt;br /&gt;
: &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
Resulting cursor&lt;br /&gt;
&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
Status code:&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
: &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
Resulting error string&lt;br /&gt;
&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt; prepared SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
Status code:&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
: &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
Status code:&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
: &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
Status code:&lt;br /&gt;
: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; success&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success, end of stream&lt;br /&gt;
: &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as an list of strings.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
The list of strings&lt;br /&gt;
&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
Status code:&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
Number of columns&lt;br /&gt;
&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
;returns&lt;br /&gt;
Status code:&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
: &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
;returns&lt;br /&gt;
Resulting prepared statement&lt;br /&gt;
&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
Status code:&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
: &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
Status code:&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
: &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
;parameters&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
;returns&lt;br /&gt;
Resulting SQL code&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2094</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2094"/>
		<updated>2020-09-01T05:24:46Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* dlopen_test(name:str)-&amp;gt;int */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&amp;lt;br&amp;gt;&lt;br /&gt;
;parameters&lt;br /&gt;
: &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
;returns&lt;br /&gt;
: &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
: &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
* &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be deleted&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt; name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying search criteria&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; found device name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; UIC&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
** &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; - use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; UIC string&lt;br /&gt;
&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt; the name of the device for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the device is to be returned.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification&lt;br /&gt;
* &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt; name of the process&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt; identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; lock identification&lt;br /&gt;
&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt; identification of the message to be retrieved&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; message string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; optional information&lt;br /&gt;
&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt; function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context stream for this call&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt; OpenVMS Cluster system identification&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; name of the node about which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; csid&lt;br /&gt;
&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; current system time&lt;br /&gt;
&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user to get authorization information for&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt; time at which the process to be awakened&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; pid&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds a specified holder record to a target identifier.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; target identifier granted to the specified holder&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder identifier that is granted access to the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name to be added to the rights database&lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; identifier to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;, identifier value assigned by the system&lt;br /&gt;
&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder whose identifiers to be found&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, identifier value that was found&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt; attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value to be cleared&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name of the process that is to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt; completion code value to be used as the exit parameter&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; identifier of the holder being deleted&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the identifier deleted from rights database&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user whose UAF record is modified&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt; description of an intruder or suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;, user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;, quadword time format indicating the time when the record will expire&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;, the types of the matched record and the status of the suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;, number of login failures or break-in attempts&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;Oracle RDB&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the RDB database in OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt; path or logical name&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
* &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt; index&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Resulting string&lt;br /&gt;
&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name for the cursor&lt;br /&gt;
* &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Resulting cursor&lt;br /&gt;
&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Resulting error string&lt;br /&gt;
&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt; prepared SQL statement&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success, end of stream&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as an list of strings.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list of strings&lt;br /&gt;
&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Number of columns&lt;br /&gt;
&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Resulting prepared statement&lt;br /&gt;
&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Resulting SQL code&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2093</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2093"/>
		<updated>2020-09-01T05:15:39Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
* &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be deleted&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt; name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying search criteria&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; found device name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; UIC&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
** &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; - use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; UIC string&lt;br /&gt;
&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt; the name of the device for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the device is to be returned.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification&lt;br /&gt;
* &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt; name of the process&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt; identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; lock identification&lt;br /&gt;
&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt; identification of the message to be retrieved&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; message string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; optional information&lt;br /&gt;
&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt; function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context stream for this call&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt; OpenVMS Cluster system identification&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; name of the node about which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; csid&lt;br /&gt;
&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; current system time&lt;br /&gt;
&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user to get authorization information for&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt; time at which the process to be awakened&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; pid&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds a specified holder record to a target identifier.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; target identifier granted to the specified holder&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder identifier that is granted access to the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name to be added to the rights database&lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; identifier to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;, identifier value assigned by the system&lt;br /&gt;
&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder whose identifiers to be found&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, identifier value that was found&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt; attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value to be cleared&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name of the process that is to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt; completion code value to be used as the exit parameter&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; identifier of the holder being deleted&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the identifier deleted from rights database&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user whose UAF record is modified&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt; description of an intruder or suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;, user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;, quadword time format indicating the time when the record will expire&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;, the types of the matched record and the status of the suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;, number of login failures or break-in attempts&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;Oracle RDB&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the RDB database in OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt; path or logical name&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
* &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt; index&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Resulting string&lt;br /&gt;
&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name for the cursor&lt;br /&gt;
* &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Resulting cursor&lt;br /&gt;
&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Resulting error string&lt;br /&gt;
&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt; prepared SQL statement&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success, end of stream&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as an list of strings.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
The list of strings&lt;br /&gt;
&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Number of columns&lt;br /&gt;
&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Resulting prepared statement&lt;br /&gt;
&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;parameters&#039;&#039;&amp;lt;br&amp;gt; &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;returns&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
Resulting SQL code&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2092</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2092"/>
		<updated>2020-08-31T09:57:21Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* ExecI(st:str)-&amp;gt;int */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
* &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be deleted&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt; name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying search criteria&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; found device name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; UIC&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
** &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; - use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; UIC string&lt;br /&gt;
&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt; the name of the device for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the device is to be returned.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification&lt;br /&gt;
* &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt; name of the process&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt; identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; lock identification&lt;br /&gt;
&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt; identification of the message to be retrieved&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; message string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; optional information&lt;br /&gt;
&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt; function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context stream for this call&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt; OpenVMS Cluster system identification&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; name of the node about which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; csid&lt;br /&gt;
&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; current system time&lt;br /&gt;
&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user to get authorization information for&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt; time at which the process to be awakened&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; pid&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds a specified holder record to a target identifier.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; target identifier granted to the specified holder&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder identifier that is granted access to the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name to be added to the rights database&lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; identifier to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;, identifier value assigned by the system&lt;br /&gt;
&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder whose identifiers to be found&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, identifier value that was found&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt; attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value to be cleared&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name of the process that is to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt; completion code value to be used as the exit parameter&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; identifier of the holder being deleted&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the identifier deleted from rights database&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user whose UAF record is modified&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt; description of an intruder or suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;, user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;, quadword time format indicating the time when the record will expire&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;, the types of the matched record and the status of the suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;, number of login failures or break-in attempts&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;Oracle RDB&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the RDB database in OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt; path or logical name&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
* &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt; index&lt;br /&gt;
==== returns ====&lt;br /&gt;
Resulting string&lt;br /&gt;
&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name for the cursor&lt;br /&gt;
* &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
==== returns ====&lt;br /&gt;
Resulting cursor&lt;br /&gt;
&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Resulting error string&lt;br /&gt;
&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt; prepared SQL statement&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&amp;lt;br&amp;gt;&lt;br /&gt;
    &#039;&#039;&#039;Note: the last letter is a capital &#039;i&#039;&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success, end of stream&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as an list of strings.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list of strings&lt;br /&gt;
&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
Number of columns&lt;br /&gt;
&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
==== returns ====&lt;br /&gt;
Resulting prepared statement&lt;br /&gt;
&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Resulting SQL code&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2091</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2091"/>
		<updated>2020-08-31T09:54:43Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* Data(cursor:object, idx:int)-&amp;gt;int */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
* &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be deleted&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt; name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying search criteria&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; found device name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; UIC&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
** &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; - use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; UIC string&lt;br /&gt;
&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt; the name of the device for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the device is to be returned.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification&lt;br /&gt;
* &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt; name of the process&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt; identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; lock identification&lt;br /&gt;
&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt; identification of the message to be retrieved&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; message string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; optional information&lt;br /&gt;
&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt; function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context stream for this call&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt; OpenVMS Cluster system identification&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; name of the node about which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; csid&lt;br /&gt;
&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; current system time&lt;br /&gt;
&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user to get authorization information for&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt; time at which the process to be awakened&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; pid&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds a specified holder record to a target identifier.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; target identifier granted to the specified holder&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder identifier that is granted access to the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name to be added to the rights database&lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; identifier to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;, identifier value assigned by the system&lt;br /&gt;
&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder whose identifiers to be found&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, identifier value that was found&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt; attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value to be cleared&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name of the process that is to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt; completion code value to be used as the exit parameter&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; identifier of the holder being deleted&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the identifier deleted from rights database&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user whose UAF record is modified&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt; description of an intruder or suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;, user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;, quadword time format indicating the time when the record will expire&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;, the types of the matched record and the status of the suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;, number of login failures or break-in attempts&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;Oracle RDB&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the RDB database in OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt; path or logical name&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;str ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
* &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt; index&lt;br /&gt;
==== returns ====&lt;br /&gt;
Resulting string&lt;br /&gt;
&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name for the cursor&lt;br /&gt;
* &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
==== returns ====&lt;br /&gt;
Resulting cursor&lt;br /&gt;
&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Resulting error string&lt;br /&gt;
&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt; prepared SQL statement&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success, end of stream&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as an list of strings.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list of strings&lt;br /&gt;
&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
Number of columns&lt;br /&gt;
&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
==== returns ====&lt;br /&gt;
Resulting prepared statement&lt;br /&gt;
&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Resulting SQL code&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2090</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2090"/>
		<updated>2020-08-31T09:53:40Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* rdb */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
* &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be deleted&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt; name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying search criteria&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; found device name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; UIC&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
** &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; - use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; UIC string&lt;br /&gt;
&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt; the name of the device for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the device is to be returned.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification&lt;br /&gt;
* &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt; name of the process&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt; identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; lock identification&lt;br /&gt;
&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt; identification of the message to be retrieved&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; message string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; optional information&lt;br /&gt;
&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt; function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context stream for this call&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt; OpenVMS Cluster system identification&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; name of the node about which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; csid&lt;br /&gt;
&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; current system time&lt;br /&gt;
&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user to get authorization information for&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt; time at which the process to be awakened&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; pid&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds a specified holder record to a target identifier.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; target identifier granted to the specified holder&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder identifier that is granted access to the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name to be added to the rights database&lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; identifier to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;, identifier value assigned by the system&lt;br /&gt;
&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder whose identifiers to be found&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, identifier value that was found&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt; attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value to be cleared&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name of the process that is to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt; completion code value to be used as the exit parameter&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; identifier of the holder being deleted&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the identifier deleted from rights database&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user whose UAF record is modified&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt; description of an intruder or suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;, user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;, quadword time format indicating the time when the record will expire&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;, the types of the matched record and the status of the suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;, number of login failures or break-in attempts&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;Oracle RDB&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== Attach(dbname:string)-&amp;gt;int ===&lt;br /&gt;
Attaches to the specified database. The string may specify the full path to the RDB database in OpenVMS format or (more commonly) a logical name pointing to the database.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;dbname:string&amp;lt;/code&amp;gt; path or logical name&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== CloseCursor(cursor:object)-&amp;gt;int === &lt;br /&gt;
Closes the specified cursor.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Commit()-&amp;gt;int ===&lt;br /&gt;
Commits the current database transaction.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Data(cursor:object, idx:int)-&amp;gt;int ===&lt;br /&gt;
Given a cursor handle and column index (integer), returns the data value for the specified column for the last fetch operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
* &amp;lt;code&amp;gt;idx:int&amp;lt;/code&amp;gt; index&lt;br /&gt;
==== returns ====&lt;br /&gt;
Resulting string&lt;br /&gt;
&lt;br /&gt;
=== DeclareCursor(name:str, statement:str)-&amp;gt;object ===&lt;br /&gt;
Declares a cursor. Inputs are the name for the cursor and the SQL statement. On success the function returns a cursor handle that can be used with &amp;lt;code&amp;gt;OpenCursor()&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;FetchCursor()&amp;lt;/code&amp;gt;, and &amp;lt;code&amp;gt;CloseCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name for the cursor&lt;br /&gt;
* &amp;lt;code&amp;gt;statement:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
==== returns ====&lt;br /&gt;
Resulting cursor&lt;br /&gt;
&lt;br /&gt;
=== Detach()-&amp;gt;int ===&lt;br /&gt;
Disconnects from the database.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Error()-&amp;gt;str ===&lt;br /&gt;
Returns a description of the last error.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Resulting error string&lt;br /&gt;
&lt;br /&gt;
=== Exec(sh:object)-&amp;gt;int ===&lt;br /&gt;
Executes a previously prepared SQL statement.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;sh:object&amp;lt;/code&amp;gt; prepared SQL statement&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== ExecI(st:str)-&amp;gt;int ===&lt;br /&gt;
Executes the supplied SQL statement immediately.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;st:str&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Fetch(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Fetches a row of data for the specified cursor but does not explicitly return the fetched data. The &amp;lt;code&amp;gt;Data()&amp;lt;/code&amp;gt; method can then be used to retrieve individual data values for each column (&amp;lt;code&amp;gt;Ncol()&amp;lt;/code&amp;gt; can be used to determine the number of columns).&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success, end of stream&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as an list of strings.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list of strings&lt;br /&gt;
&lt;br /&gt;
=== Free(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Frees resources associated with the supplied cursor handle for a cursor previously declared via &amp;lt;code&amp;gt;DeclareCursor()&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
&lt;br /&gt;
=== Ncol(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Returns the number of columns (values) that would be returned by a fetch for the specified cursor.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
Number of columns&lt;br /&gt;
&lt;br /&gt;
=== OpenCursor(cursor:object)-&amp;gt;int ===&lt;br /&gt;
Opens a cursor using the supplied (previously declared) cursor handle.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Prepare(st:string)-&amp;gt;object ===&lt;br /&gt;
Prepares an SQL statement and returns a handle for the prepared statement that can be used in subsequent calls to Exec().&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;st:string&amp;lt;/code&amp;gt; SQL statement&lt;br /&gt;
==== returns ====&lt;br /&gt;
Resulting prepared statement&lt;br /&gt;
&lt;br /&gt;
=== Rollback()-&amp;gt;int ===&lt;br /&gt;
Rolls back the current database transaction.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== SetReadonly()-&amp;gt;int ===&lt;br /&gt;
Starts a read-only transaction.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code:&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; success&lt;br /&gt;
* &amp;lt;code&amp;gt;-1&amp;lt;/code&amp;gt; failed&lt;br /&gt;
&lt;br /&gt;
=== Sqlcode()-&amp;gt;int ===&lt;br /&gt;
Returns the SQLCODE for the last database operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Resulting SQL code&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2089</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2089"/>
		<updated>2020-08-31T09:27:20Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
* &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be deleted&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt; name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying search criteria&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; found device name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; UIC&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
** &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; - use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; UIC string&lt;br /&gt;
&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt; the name of the device for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the device is to be returned.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification&lt;br /&gt;
* &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt; name of the process&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt; identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; lock identification&lt;br /&gt;
&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt; identification of the message to be retrieved&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; message string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; optional information&lt;br /&gt;
&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt; function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context stream for this call&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt; OpenVMS Cluster system identification&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; name of the node about which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; csid&lt;br /&gt;
&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; current system time&lt;br /&gt;
&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user to get authorization information for&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt; time at which the process to be awakened&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; pid&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds a specified holder record to a target identifier.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; target identifier granted to the specified holder&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder identifier that is granted access to the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name to be added to the rights database&lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; identifier to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;, identifier value assigned by the system&lt;br /&gt;
&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder whose identifiers to be found&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, identifier value that was found&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt; attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value to be cleared&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name of the process that is to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt; completion code value to be used as the exit parameter&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; identifier of the holder being deleted&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the identifier deleted from rights database&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user whose UAF record is modified&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt; description of an intruder or suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;, user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;, quadword time format indicating the time when the record will expire&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;, the types of the matched record and the status of the suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;, number of login failures or break-in attempts&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;Oracle RDB&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== FetchRow(cursor:object)-&amp;gt;list ===&lt;br /&gt;
Fetches a row of data using the specified cursor handle. The fetched data is returned as an list of strings.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;cursor:object&amp;lt;/code&amp;gt; cursor&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list of strings&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2088</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2088"/>
		<updated>2020-08-31T09:11:33Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* vms.ile3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
* &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be deleted&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt; name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying search criteria&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; found device name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; UIC&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
** &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; - use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; UIC string&lt;br /&gt;
&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt; the name of the device for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the device is to be returned.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification&lt;br /&gt;
* &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt; name of the process&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt; identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; lock identification&lt;br /&gt;
&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt; identification of the message to be retrieved&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; message string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; optional information&lt;br /&gt;
&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt; function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context stream for this call&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt; OpenVMS Cluster system identification&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; name of the node about which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; csid&lt;br /&gt;
&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; current system time&lt;br /&gt;
&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user to get authorization information for&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt; time at which the process to be awakened&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; pid&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds a specified holder record to a target identifier.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; target identifier granted to the specified holder&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder identifier that is granted access to the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name to be added to the rights database&lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; identifier to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;, identifier value assigned by the system&lt;br /&gt;
&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder whose identifiers to be found&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, identifier value that was found&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt; attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value to be cleared&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name of the process that is to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt; completion code value to be used as the exit parameter&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; identifier of the holder being deleted&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the identifier deleted from rights database&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user whose UAF record is modified&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt; description of an intruder or suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;, user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;, quadword time format indicating the time when the record will expire&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;, the types of the matched record and the status of the suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;, number of login failures or break-in attempts&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2087</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2087"/>
		<updated>2020-08-31T09:10:41Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* vms.sys */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&amp;lt;ref&amp;gt;ile3new&amp;lt;/ref&amp;gt;&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
* &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be deleted&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt; name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying search criteria&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; found device name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; UIC&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
** &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; - use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; UIC string&lt;br /&gt;
&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt; the name of the device for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the device is to be returned.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification&lt;br /&gt;
* &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt; name of the process&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt; identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; lock identification&lt;br /&gt;
&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt; identification of the message to be retrieved&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; message string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; optional information&lt;br /&gt;
&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt; function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context stream for this call&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt; OpenVMS Cluster system identification&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; name of the node about which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; csid&lt;br /&gt;
&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; current system time&lt;br /&gt;
&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user to get authorization information for&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt; time at which the process to be awakened&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; pid&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds a specified holder record to a target identifier.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; target identifier granted to the specified holder&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder identifier that is granted access to the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== add_ident(name:str, id:int, attrib:int)-&amp;gt;list ===&lt;br /&gt;
Adds the specified identifier to the rights database.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name to be added to the rights database&lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; identifier to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes placed in the identifier’s record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_IDENT&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;resid&amp;lt;/code&amp;gt;, identifier value assigned by the system&lt;br /&gt;
&lt;br /&gt;
=== find_held(holder:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the identifiers held by the specified holder.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder whose identifiers to be found&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;find_held&amp;lt;/code&amp;gt; is called repeatedly&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$FIND_HELD&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;, identifier value that was found&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;attrib&amp;lt;/code&amp;gt; attributes associated with the holder returned in &amp;lt;code&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;context&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== finish_rdb(context:int)-&amp;gt;int ===&lt;br /&gt;
Deallocates the record stream and clears the context value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value to be cleared&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== forcex(pid:int, pname:str, code:int)-&amp;gt;int ===&lt;br /&gt;
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name of the process that is to force exit&lt;br /&gt;
* &amp;lt;code&amp;gt;code:int&amp;lt;/code&amp;gt; completion code value to be used as the exit parameter&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_holder(id:int, holder:int)-&amp;gt;int ===&lt;br /&gt;
Deletes the specified holder record from the target identifier’s list of holders.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; identifier of the holder being deleted&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== rem_ident(id:int)-&amp;gt;int ===&lt;br /&gt;
Removes the specified identifier record and all its holder records (if any) from the rights database. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; binary value of the identifier deleted from rights database&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== setuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Modifies the user authorization file (UAF) record for the specified user.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user whose UAF record is modified&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information from the specified UAF record is to be modified&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== show_intrusion(user_criteria:str, flags:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Searches for and returns information about records in the intrusion database matching the caller specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_criteria:str&amp;lt;/code&amp;gt; description of an intruder or suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; type of records in the intrusion database about which information is to be returned. NOTE: do not use &#039;&#039;&#039;vms.ciadef.CIA_M_ITEMLIST&#039;&#039;&#039;, because &amp;lt;code&amp;gt;user_criteria&amp;lt;/code&amp;gt; is a string&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context information to keep between related calls&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;intruder&amp;lt;/code&amp;gt;, user specification of the matched intruder or suspect record in the intrusion database&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;expires&amp;lt;/code&amp;gt;, quadword time format indicating the time when the record will expire&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;, the types of the matched record and the status of the suspect&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt;, number of login failures or break-in attempts&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2086</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2086"/>
		<updated>2020-08-31T08:28:52Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* vms.sys */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&amp;lt;ref&amp;gt;ile3new&amp;lt;/ref&amp;gt;&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
* &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Returns information about the specified logical name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes controlling the search for the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the translation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$TRNLNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== dellnm(tabnam:str, lognam:str, acmode:int)-&amp;gt;int ===&lt;br /&gt;
Deletes all logical names with the specified name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the logical name table or the name of a searchlist logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be deleted&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be used in the delete operation. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== device_scan(search_devnam:str, item_list:object, context:int)-&amp;gt;list ===&lt;br /&gt;
Returns the names of all devices that match a specified set of search criteria.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;search_devnam:str&amp;lt;/code&amp;gt; name of the device for which &amp;lt;code&amp;gt;device_scan&amp;lt;/code&amp;gt; to search&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying search criteria&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; value used to indicate the current position of the search. On the initial call it must contain &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$DEVICE_SCAN&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; found device name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== uicstr(uic:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Converts UIC to a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; UIC&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; &lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - use &amp;quot;!%I&amp;quot; SYS$FAO format&lt;br /&gt;
** &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; - use &amp;quot;!%U&amp;quot; SYS$FAO format&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; UIC string&lt;br /&gt;
&lt;br /&gt;
=== getdvi(dev_nam:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns information related to the primary and secondary device characteristics of an I/O device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;dev_nam:str&amp;lt;/code&amp;gt; the name of the device for which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the device is to be returned.&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETDVI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getjpi(pid:int, pnam:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about one or more processes of the system or across the OpenVMS Cluster system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification&lt;br /&gt;
* &amp;lt;code&amp;gt;pnam:str&amp;lt;/code&amp;gt; name of the process&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the process or processes is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETJPI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
&lt;br /&gt;
=== getlki(lki:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the lock database on a system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;lki:int&amp;lt;/code&amp;gt; identification of the lock (lock ID) information about which needs to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying the lock information to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETLKI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; lock identification&lt;br /&gt;
&lt;br /&gt;
=== getmsg(msgid:int, flags:int)-&amp;gt;list ===&lt;br /&gt;
Returns message text associated with a given message identification code.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;msgid:int&amp;lt;/code&amp;gt; identification of the message to be retrieved&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; message components to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETMSG&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; message string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; optional information&lt;br /&gt;
&lt;br /&gt;
=== getqui(func:int, context:int, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about queues and the jobs initiated from these queues.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;func:int&amp;lt;/code&amp;gt; function code specifying the function that &amp;lt;code&amp;gt;getqui&amp;lt;/code&amp;gt; is to perform. See &#039;&#039;&#039;vms.quidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context stream for this call&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list supplying the information to be used by the function &lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETQUI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; context&lt;br /&gt;
&lt;br /&gt;
=== getrmi(item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns system performance information about the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the local node is to be returned&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETRMI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== getsyi(csid:int, node_name:str, item_list:object)-&amp;gt;list ===&lt;br /&gt;
Returns information about the local system or about other systems in an OpenVMS Cluster system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;csid:int&amp;lt;/code&amp;gt; OpenVMS Cluster system identification&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; name of the node about which information is to be returned&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information about the node or nodes to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETSYI&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; csid&lt;br /&gt;
&lt;br /&gt;
=== gettim()-&amp;gt;list ===&lt;br /&gt;
Returns the current system time in a 64-bit format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; current system time&lt;br /&gt;
&lt;br /&gt;
=== getuai(user_name:str, item_list:object)-&amp;gt;int ===&lt;br /&gt;
Returns authorization information about the specified user.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;user_name:str&amp;lt;/code&amp;gt; name of the user to get authorization information for&lt;br /&gt;
* &amp;lt;code&amp;gt;item_list:object&amp;lt;/code&amp;gt; item list specifying which information to return&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$GETUAI&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== hiber()-&amp;gt;int ===&lt;br /&gt;
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== schdwk(pid:int, pname:str, time:int)-&amp;gt;list ===&lt;br /&gt;
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process identification (PID) of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name of the process to be awakened&lt;br /&gt;
* &amp;lt;code&amp;gt;time:int&amp;lt;/code&amp;gt; time at which the process to be awakened&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$SCHDWK&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; pid&lt;br /&gt;
&lt;br /&gt;
=== add_holder(id:int, holder:int, attrib:int)-&amp;gt;int ===&lt;br /&gt;
Adds a specified holder record to a target identifier.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id:int&amp;lt;/code&amp;gt; target identifier granted to the specified holder&lt;br /&gt;
* &amp;lt;code&amp;gt;holder:int&amp;lt;/code&amp;gt; holder identifier that is granted access to the target identifier&lt;br /&gt;
* &amp;lt;code&amp;gt;attrib:int&amp;lt;/code&amp;gt; attributes to be placed in the holder record&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$ADD_HOLDER&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2085</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2085"/>
		<updated>2020-08-31T08:07:17Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&amp;lt;ref&amp;gt;ile3new&amp;lt;/ref&amp;gt;&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
* &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#new()-&amp;gt;object|&amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2084</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2084"/>
		<updated>2020-08-31T08:06:37Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&amp;lt;ref&amp;gt;ile3new&amp;lt;/ref&amp;gt;&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
* &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#vms.ile3|vms.ile3.new()]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2083</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2083"/>
		<updated>2020-08-31T08:04:41Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&amp;lt;ref&amp;gt;ile3new&amp;lt;/ref&amp;gt;&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
* &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[VMS specific Python modules#ile3new|vms.ile3.new()]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2082</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2082"/>
		<updated>2020-08-31T08:03:59Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* parameters */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&amp;lt;ref&amp;gt;ile3new&amp;lt;/ref&amp;gt;&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
* &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via [[ile3new|vms.ile3.new()]]&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2081</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2081"/>
		<updated>2020-08-31T08:03:23Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* vms.ile3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&amp;lt;ref&amp;gt;ile3new&amp;lt;/ref&amp;gt;&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
* &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via &amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2080</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2080"/>
		<updated>2020-08-31T07:56:36Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;C Run-Time Library for OpenVMS Systems&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)-&amp;gt;list ===&lt;br /&gt;
Provides a process with an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;devnam:str&amp;lt;/code&amp;gt; name of the device&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel&lt;br /&gt;
* &amp;lt;code&amp;gt;mbxnam:str&amp;lt;/code&amp;gt; logical name of the mailbox to be associated with the device&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; an optional device-specific argument&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== dassgn(channel:int)-&amp;gt;int ===&lt;br /&gt;
Unassigns (releases) an I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; number of the I/O channel to be unassigned&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== readvblk(channel:int, max_read:int, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Read from I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;max_read:int&amp;lt;/code&amp;gt; amount of bytes to read&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;byte&amp;lt;/code&amp;gt; resulting buffer&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)-&amp;gt;list ===&lt;br /&gt;
Write to I/O channel.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
* &amp;lt;code&amp;gt;buffer:bytes&amp;lt;/code&amp;gt; bytes to write&lt;br /&gt;
* &amp;lt;code&amp;gt;block:int&amp;lt;/code&amp;gt; starting block&lt;br /&gt;
* &amp;lt;code&amp;gt;fmod:int&amp;lt;/code&amp;gt; function code modifiers&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; amount of written bytes&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; I/O completion code&lt;br /&gt;
&lt;br /&gt;
=== cancel(channel:int)-&amp;gt;int ===&lt;br /&gt;
Cancel I/O operation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; I/O channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
=== crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)-&amp;gt;int ===&lt;br /&gt;
Creates a logical name and specifies its equivalence names. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;attr:int&amp;lt;/code&amp;gt; attributes to be associated with the logical name. See &#039;&#039;&#039;vms.lnmdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;tabnam:str&amp;lt;/code&amp;gt; name of the table in which to create the logical name&lt;br /&gt;
* &amp;lt;code&amp;gt;lognam:str&amp;lt;/code&amp;gt; logical name to be created&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the logical name. See &#039;&#039;&#039;vms.psldef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list, created via &amp;lt;code&amp;gt;vms.ile3.new()&amp;lt;/code&amp;gt;&lt;br /&gt;
See &#039;&#039;&#039;OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$CRELNM.&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2079</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2079"/>
		<updated>2020-08-31T07:44:05Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* vms.sys */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;HP C Run-Time Library&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;HP C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;HP OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;HP OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;HP OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;OpenVMS System Services&#039;&#039;&#039;functions.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;HP OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2078</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2078"/>
		<updated>2020-08-31T07:42:48Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* vms.lib */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;HP C Run-Time Library&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;HP C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;HP OpenVMS RTL Library(LIB$)&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;HP OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;HP OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Provides functions from SYS$ library.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;HP OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2077</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2077"/>
		<updated>2020-08-31T07:41:35Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* vms.ile3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;HP C Run-Time Library&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;HP C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with the list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Provides functions from LIB$.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;HP OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;HP OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Provides functions from SYS$ library.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;HP OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2076</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2076"/>
		<updated>2020-08-31T07:40:55Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* vms.decc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Wraps the &#039;&#039;&#039;HP C Run-Time Library&#039;&#039;&#039; functions.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;HP C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Provides functions from LIB$.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;HP OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;HP OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Provides functions from SYS$ library.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;HP OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2075</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2075"/>
		<updated>2020-08-31T07:22:23Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Provides DECC functionality.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;HP C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Provides functions from LIB$.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;HP OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;HP OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
Provides functions from SYS$ library.&lt;br /&gt;
&lt;br /&gt;
=== asctim(vms_time:int, time_only:int)-&amp;gt;list ===&lt;br /&gt;
Converts an absolute or delta time from 64-bit system time format to an ASCII string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time. A negative time value represents a delta time.&lt;br /&gt;
* &amp;lt;code&amp;gt;time_only:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, asctim returns the hour only.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== bintim(time_str:str)-&amp;gt;list ===&lt;br /&gt;
Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;time_str:str&amp;lt;/code&amp;gt; in format:&lt;br /&gt;
** Absolute Time: dd-mmm-yyyy hh:mm:ss.cc&lt;br /&gt;
** Delta Time: dddd hh:mm:ss.cc&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting time value&lt;br /&gt;
&lt;br /&gt;
=== asctoid(name:str)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier name into its binary identifier value.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; identifier name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== idtoasc(id_val:int, context:int)-&amp;gt;list ===&lt;br /&gt;
Translates the specified identifier value to the identifier name.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;id_val:int&amp;lt;/code&amp;gt; identifier value. See &#039;&#039;&#039;HP OpenVMS System Services Reference Manual&#039;&#039;&#039; for SYS$IDTOASC&lt;br /&gt;
* &amp;lt;code&amp;gt;context:int&amp;lt;/code&amp;gt; context value used when &amp;lt;code&amp;gt;idtoasc&amp;lt;/code&amp;gt; is called repeatedly. Must be initialized with the value 0.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting identifier name&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier value&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting identifier attributes. See &#039;&#039;&#039;vms.kgbdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting context&lt;br /&gt;
&lt;br /&gt;
=== crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)-&amp;gt;list ===&lt;br /&gt;
Creates a virtual mailbox device.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;tmp:int&amp;lt;/code&amp;gt; the first bit specifies a permanent mailbox &lt;br /&gt;
* &amp;lt;code&amp;gt;maxmsg:int&amp;lt;/code&amp;gt; maximum size of a message (in bytes)&lt;br /&gt;
* &amp;lt;code&amp;gt;bufquo:int&amp;lt;/code&amp;gt; number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;promsk:int&amp;lt;/code&amp;gt; protection mask to be associated with the created mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;acmode:int&amp;lt;/code&amp;gt; access mode to be associated with the channel to which the mailbox is assigned&lt;br /&gt;
* &amp;lt;code&amp;gt;mbx_name:string&amp;lt;/code&amp;gt; logical name to be assigned to the mailbox&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; options for the assign operation. See &#039;&#039;&#039;vms.cmbdef&#039;&#039;&#039;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting channel&lt;br /&gt;
&lt;br /&gt;
=== delmbx(channel:int)-&amp;gt;int ===&lt;br /&gt;
Marks a permanent mailbox for deletion.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;channel:int&amp;lt;/code&amp;gt; mailbox channel&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code&lt;br /&gt;
&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2074</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2074"/>
		<updated>2020-08-31T06:21:05Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Provides DECC functionality.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;HP C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Provides functions from LIB$.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;HP OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== date_time()-&amp;gt;list ===&lt;br /&gt;
Gets current date and time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_ef()-&amp;gt;list ===&lt;br /&gt;
Allocates a local event flag.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting event flag&lt;br /&gt;
&lt;br /&gt;
=== free_ef(ef:int)-&amp;gt;int ===&lt;br /&gt;
Releases the local event flag. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;ef:int&amp;lt;/code&amp;gt; the local event flag&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== put_common(common:str)-&amp;gt;int ===&lt;br /&gt;
Copies a string into the common area. &lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;common:str&amp;lt;/code&amp;gt; string to copy&lt;br /&gt;
==== returns ====&lt;br /&gt;
Status code of the operation&lt;br /&gt;
&lt;br /&gt;
=== get_common()-&amp;gt;list ===&lt;br /&gt;
Gets the string from the common area.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== get_hostname(flags:int)-&amp;gt;list ===&lt;br /&gt;
Gets the host name of the local system.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the host node name is returned in the parsable form&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting host node name&lt;br /&gt;
&lt;br /&gt;
=== getjpi(item_code:int, pid:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Gets the specified job/process information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.jpidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pid:int&amp;lt;/code&amp;gt; process id&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; process name&lt;br /&gt;
For valid combination of the values of &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;pname&amp;lt;/code&amp;gt; see the &#039;&#039;&#039;HP OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$GETJPI. The resulting &amp;lt;code&amp;gt;pid&amp;lt;/code&amp;gt; is not returned.&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
&lt;br /&gt;
=== getsyi(item_code:int, node_name:str)-&amp;gt;list ===&lt;br /&gt;
Gets system wide information as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;item_code:int&amp;lt;/code&amp;gt; item identifier code defining the item of information to be returned. See &#039;&#039;&#039;vms.syidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;node_name:str&amp;lt;/code&amp;gt; node name&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; resulting string&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; resulting cluster system id&lt;br /&gt;
&lt;br /&gt;
=== spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)-&amp;gt;list ===&lt;br /&gt;
Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
* &amp;lt;code&amp;gt;input_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$INPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;output_file:str&amp;lt;/code&amp;gt; equivalence name to be associated with the logical name SYS$OUTPUT&lt;br /&gt;
* &amp;lt;code&amp;gt;flags:int&amp;lt;/code&amp;gt; flag bits that designate optional behavior. See &#039;&#039;&#039;vms.clidef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;pname:str&amp;lt;/code&amp;gt; name defined for the subprocess&lt;br /&gt;
==== returns ====&lt;br /&gt;
The list:&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; status code of the operation&lt;br /&gt;
* &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; process id of the spawned process&lt;br /&gt;
&lt;br /&gt;
=== do_command(command:str)-&amp;gt;None ===&lt;br /&gt;
Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;command:str&amp;lt;/code&amp;gt; command to execute&lt;br /&gt;
==== returns ====&lt;br /&gt;
If successful, it does not return control to the calling program.&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2073</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2073"/>
		<updated>2020-08-31T05:26:15Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Provides DECC functionality.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;HP C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
Provides functions from LIB$.&lt;br /&gt;
&lt;br /&gt;
=== create_dir(name:str, uic:int, pe:int, pv:int)-&amp;gt;int ===&lt;br /&gt;
Creates a directory.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the directory to be created (specified in OpenVMS style)&lt;br /&gt;
* &amp;lt;code&amp;gt;uic:int&amp;lt;/code&amp;gt; unsigned integer value of the owner UIC: &lt;br /&gt;
** &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt; - the current user&lt;br /&gt;
** &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; - owner of the parent directory&lt;br /&gt;
* &amp;lt;code&amp;gt;pe:int&amp;lt;/code&amp;gt; protection enable. See full documentation in the &#039;&#039;&#039;HP OpenVMS RTL Library(LIB$) Manual&#039;&#039;&#039; for LIB$CREATE_DIR.&lt;br /&gt;
* &amp;lt;code&amp;gt;pv:int&amp;lt;/code&amp;gt; protection value&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__CREATED&amp;lt;/code&amp;gt; one or more directories created&lt;br /&gt;
* &amp;lt;code&amp;gt;vms.ssdef.SS__NORMAL&amp;lt;/code&amp;gt; all specified directories already exist&lt;br /&gt;
* another error. See in &#039;&#039;&#039;vms.ssdef&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2072</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2072"/>
		<updated>2020-08-31T05:20:00Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Provides DECC functionality.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;HP C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
Provides functions for working with list.&lt;br /&gt;
&lt;br /&gt;
=== new()-&amp;gt;object ===&lt;br /&gt;
Creates empty item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
New empty item list&lt;br /&gt;
&lt;br /&gt;
=== delete(il:object)-&amp;gt;None ===&lt;br /&gt;
Deletes item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list to be removed&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
=== size(il:object)-&amp;gt;int ===&lt;br /&gt;
Gets size of the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
==== returns ====&lt;br /&gt;
The size of the specified item list&lt;br /&gt;
&lt;br /&gt;
=== addint(il:object, item:int, item_type:int, item_value:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new integer to the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_type:int&amp;lt;/code&amp;gt; type of the item. See &#039;&#039;&#039;vms.dscdef&#039;&#039;&#039;&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value of the item&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getint(il:object, index:int)-&amp;gt;int ===&lt;br /&gt;
Gets the integer at the specified index in the list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value&lt;br /&gt;
&lt;br /&gt;
=== gethex(il:object, index:int)-&amp;gt;str ===&lt;br /&gt;
Gets the integer at the specified index in the item list and returns it as a hexadecimal string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
==== returns ====&lt;br /&gt;
Hexadecimal string&lt;br /&gt;
&lt;br /&gt;
=== addstr(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is not &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;, the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt; is ignored and the length of the buffer will be the same as the length of the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt;.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add (or &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;)&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer if the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is &amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrd(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer (the resulting string length is one byte less)&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== addstrn(il:object, item:int, item_value:str, item_length:int)-&amp;gt;None ===&lt;br /&gt;
Adds the specified space-expanded string to the item list. If the &amp;lt;code&amp;gt;item_value&amp;lt;/code&amp;gt; is longer than the &amp;lt;code&amp;gt;item_length&amp;lt;/code&amp;gt;, it will be truncated.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:str&amp;lt;/code&amp;gt; value to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_length:int&amp;lt;/code&amp;gt; length of the buffer&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getstr(il:object, index:int, flag:int)-&amp;gt;str ===&lt;br /&gt;
Gets the string at the specified index in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item to get&lt;br /&gt;
* &amp;lt;code&amp;gt;flag:int&amp;lt;/code&amp;gt; if set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, the first byte of the resulting string is the length of the string&lt;br /&gt;
==== returns ====&lt;br /&gt;
String&lt;br /&gt;
&lt;br /&gt;
=== addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)-&amp;gt;None ===&lt;br /&gt;
Adds a new binary item to the list. It will be interpreted as a string.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;item:int&amp;lt;/code&amp;gt; item to add&lt;br /&gt;
* &amp;lt;code&amp;gt;item_value:int&amp;lt;/code&amp;gt; value to store&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
* &amp;lt;code&amp;gt;item_len:int&amp;lt;/code&amp;gt; amount of bytes&lt;br /&gt;
==== returns ====&lt;br /&gt;
&amp;lt;code&amp;gt;None&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== getbyte(il:object, index:int, item_offset:int)-&amp;gt;int ===&lt;br /&gt;
Gets the byte at the specified position in the item list.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;il:object&amp;lt;/code&amp;gt; item list&lt;br /&gt;
* &amp;lt;code&amp;gt;index:int&amp;lt;/code&amp;gt; index of the item&lt;br /&gt;
* &amp;lt;code&amp;gt;item_offset:int&amp;lt;/code&amp;gt; starting byte&lt;br /&gt;
==== returns ====&lt;br /&gt;
Integer value of the specified byte&lt;br /&gt;
&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2071</id>
		<title>VMS-Specific Python Modules</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=VMS-Specific_Python_Modules&amp;diff=2071"/>
		<updated>2020-08-31T05:00:00Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: Created page with &amp;quot;VMS specific Python modules. == vms.decc == Provides DECC functionality.  === dlopen_test(name:str)-&amp;gt;int === Tries to open a shared image. ==== parameters ====  * &amp;lt;code&amp;gt;name:s...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;VMS specific Python modules.&lt;br /&gt;
== vms.decc ==&lt;br /&gt;
Provides DECC functionality.&lt;br /&gt;
&lt;br /&gt;
=== dlopen_test(name:str)-&amp;gt;int ===&lt;br /&gt;
Tries to open a shared image.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; path to the shared image&lt;br /&gt;
==== returns ====&lt;br /&gt;
* &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if the shared image exists and can be opened by dlopen()&lt;br /&gt;
* &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; otherwise&lt;br /&gt;
&lt;br /&gt;
=== fix_time(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts VMS time to the Unix time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; VMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Time in Unix format (seconds that have elapsed since 1970.01.01)&lt;br /&gt;
&lt;br /&gt;
=== from_vms(vms_path:str, wild_flag:int)-&amp;gt;list ===&lt;br /&gt;
Converts VMS path to a list of Unix paths.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_path:str&amp;lt;/code&amp;gt; path in VMS format (supports wildcards)&lt;br /&gt;
* &amp;lt;code&amp;gt;wild_flag:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in the &amp;lt;code&amp;gt;vms_path&amp;lt;/code&amp;gt; are not expanded &lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in Unix format&lt;br /&gt;
&lt;br /&gt;
=== getenv(name:str, def_value:str)-&amp;gt;str ===&lt;br /&gt;
Gets the specified environment variable value. See getenv() description in the &#039;&#039;&#039;HP C Run-Time Library Reference Manual for OpenVMS Systems&#039;&#039;&#039; documentation.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:str&amp;lt;/code&amp;gt; name of the environment variable&lt;br /&gt;
* &amp;lt;code&amp;gt;def_value:str&amp;lt;/code&amp;gt; default value&lt;br /&gt;
==== returns ====&lt;br /&gt;
Environment variable value&lt;br /&gt;
&lt;br /&gt;
=== sleep(seconds:int)-&amp;gt;int ===&lt;br /&gt;
Suspends execution of the current process or thread for the specified number of seconds.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;seconds:int&amp;lt;/code&amp;gt; seconds to sleep&lt;br /&gt;
==== returns ====&lt;br /&gt;
The number of seconds left to the end of the sleep period if sleep is interrupted.&lt;br /&gt;
&amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; if the process slept for the specified number of seconds.&lt;br /&gt;
&lt;br /&gt;
=== sysconf(name:int)-&amp;gt;int ===&lt;br /&gt;
Provides a method for determining the current value of a configurable system limit or whether optional features are supported.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;name:int&amp;lt;/code&amp;gt; system variable to be queried&lt;br /&gt;
==== returns ====&lt;br /&gt;
Requested value&lt;br /&gt;
&lt;br /&gt;
=== to_vms(unix_path:str, allow_wild:int, no_directory:int)-&amp;gt;list ===&lt;br /&gt;
Converts UNIX style file specifications to OpenVMS file specifications.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_path:str&amp;lt;/code&amp;gt; file name in UNIX style file specification format&lt;br /&gt;
* &amp;lt;code&amp;gt;allow_wild:int&amp;lt;/code&amp;gt; If set to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;, wildcards found in &amp;lt;code&amp;gt;unix_path&amp;lt;/code&amp;gt; are not expanded&lt;br /&gt;
* &amp;lt;code&amp;gt;no_directory:int&amp;lt;/code&amp;gt; An integer that has one of the following values:&lt;br /&gt;
** 0 - Directory allowed&lt;br /&gt;
** 1 - Prevent expansion of the string as a directory name&lt;br /&gt;
** 2 - Force expansion of the string as a directory name&lt;br /&gt;
==== returns ====&lt;br /&gt;
List of paths in OpenVMS style&lt;br /&gt;
&lt;br /&gt;
=== unixtime(vms_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts OpenVMS system time to the Unix local time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;vms_time:int&amp;lt;/code&amp;gt; OpenVMS system time&lt;br /&gt;
==== returns ====&lt;br /&gt;
Unix time&lt;br /&gt;
&lt;br /&gt;
=== vmstime(unix_time:int)-&amp;gt;int ===&lt;br /&gt;
Converts Unix time to the OpenVMS system time.&lt;br /&gt;
==== parameters ==== &lt;br /&gt;
* &amp;lt;code&amp;gt;unix_time:int&amp;lt;/code&amp;gt; Unix time&lt;br /&gt;
==== returns ====&lt;br /&gt;
OpenVMS system time&lt;br /&gt;
&lt;br /&gt;
== vms.ile3 ==&lt;br /&gt;
== vms.lib ==&lt;br /&gt;
== vms.sys ==&lt;br /&gt;
== rdb ==&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
	<entry>
		<id>https://wiki.vmssoftware.com/index.php?title=Project_Settings&amp;diff=2069</id>
		<title>Project Settings</title>
		<link rel="alternate" type="text/html" href="https://wiki.vmssoftware.com/index.php?title=Project_Settings&amp;diff=2069"/>
		<updated>2020-07-23T04:43:42Z</updated>

		<summary type="html">&lt;p&gt;Sergey vorfolomeev: /* Project Settings Description */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Project Configuration Example=&lt;br /&gt;
[[File:&amp;quot;Project Settings&amp;quot; Example.png|thumb|Project Settings]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;project&amp;quot;: {&lt;br /&gt;
        &amp;quot;break&amp;quot;: &amp;quot;C&amp;quot;,&lt;br /&gt;
        &amp;quot;builders&amp;quot;: &amp;quot;*.{mms,com}&amp;quot;,&lt;br /&gt;
        &amp;quot;exclude&amp;quot;: &amp;quot;**/{node_modules,.vscode}/**&amp;quot;,&lt;br /&gt;
        &amp;quot;headers&amp;quot;: &amp;quot;*.h&amp;quot;,&lt;br /&gt;
        &amp;quot;listing&amp;quot;: &amp;quot;*.lis&amp;quot;,&lt;br /&gt;
        &amp;quot;outdir&amp;quot;: &amp;quot;out&amp;quot;,&lt;br /&gt;
        &amp;quot;projectName&amp;quot;: &amp;quot;project&amp;quot;,&lt;br /&gt;
        &amp;quot;projectType&amp;quot;: &amp;quot;executable&amp;quot;,&lt;br /&gt;
        &amp;quot;resource&amp;quot;: &amp;quot;**/resource/**&amp;quot;,&lt;br /&gt;
        &amp;quot;root&amp;quot;: &amp;quot;project&amp;quot;,&lt;br /&gt;
        &amp;quot;source&amp;quot;: &amp;quot;*.{cpp,c}&amp;quot;,&lt;br /&gt;
        &amp;quot;addLibraries&amp;quot;: &amp;quot;sys$library:IMAGELIB.OLB,sys$library:RDBMSGS.OLB&amp;quot;,&lt;br /&gt;
        &amp;quot;addIncludes&amp;quot;: &amp;quot;sys$library&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Project Settings Description=&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;break&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Keyboard key to pause debugging in VMS IDE debugger. The extension uses combination &amp;lt;code&amp;gt;CTRL+Key&amp;lt;/code&amp;gt; to pause debugging when user press &#039;&#039;&#039;Pause&#039;&#039;&#039; or &amp;lt;code&amp;gt;F6&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;builders&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Mask for files used for building the project. Default is &amp;quot;*.{mms,com}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;exclude&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Folders excluded from synchronization with OpenVMS system.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;headers&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Header files. Default is &amp;quot;*.{h,hpp}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;listing&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Listing files that will be downloaded after the project is built for debugging purpose.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;outdir&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Output directory where object, listing and executable files will be stored when built. Is also used for temporary files. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: Should be only the name of the folder, not a full or relative path. &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;projectName&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Name for the executable file, auto-generated &#039;&#039;&#039;MMS&#039;&#039;&#039; file for builder, OPT file for linker, and COM file for defining logical names. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: Use one word only; do not use spaces or special characters.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;projectType&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Type of the project. &#039;&#039;&#039;Note:&#039;&#039;&#039; the building method depends on the type of the project and its dependencies. Available types: &lt;br /&gt;
** &#039;&#039;&#039;executable&#039;&#039;&#039;, &#039;&#039;&#039;library&#039;&#039;&#039; or &#039;&#039;&#039;shareable&#039;&#039;&#039; for classic languages; &lt;br /&gt;
** &#039;&#039;&#039;java&#039;&#039;&#039;, &#039;&#039;&#039;kotlin&#039;&#039;&#039; or &#039;&#039;&#039;scala&#039;&#039;&#039; for JVM based projects. &lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;resource&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Files required for the project, but are not involved in the build process.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Directory of the project on the remote OpenVMS machine in UNIX format relative to the home folder. Also it may be absolute path if it starts with &amp;quot;/&amp;quot;. In this case first word in path is a disk (or logical name). Only default system logical names may be used in &#039;&#039;&#039;root&#039;&#039;&#039;, because login.com is not executed in SFTP session.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;source&#039;&#039;&#039;&amp;lt;/code&amp;gt; - Mask for the source files, e.g. &amp;quot;*.{c,cpp}&amp;quot;.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addLibraries&#039;&#039;&#039;&amp;lt;/code&amp;gt; - list of libraries in ODS-5 format, separated by commas.&lt;br /&gt;
* &amp;lt;code&amp;gt;&#039;&#039;&#039;addIncludes&#039;&#039;&#039;&amp;lt;/code&amp;gt; - list of folders in ODS-5 format, separated by commas.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   &#039;&#039;&#039;Note: &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; must not have trailing &amp;quot;/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Adjusting Project Settings=&lt;br /&gt;
# Set the &amp;lt;code&amp;gt;&#039;&#039;&#039;root&#039;&#039;&#039;&amp;lt;/code&amp;gt; directory. For example, if the project is located in &#039;&#039;&#039;WORK:[USER.DEMOS.SIMPLE]&#039;&#039;&#039; and the home directory is &#039;&#039;&#039;WORK:[USER]&#039;&#039;&#039;, set the parameter value to &#039;&#039;&#039;demos/simple&#039;&#039;&#039; or &#039;&#039;&#039;/work/user/demos/simple&#039;&#039;&#039;.&lt;br /&gt;
# Select the &amp;lt;code&amp;gt;&#039;&#039;&#039;projectType&#039;&#039;&#039;&amp;lt;/code&amp;gt; that you need.&lt;br /&gt;
# Specify the &amp;lt;code&amp;gt;&#039;&#039;&#039;projectName&#039;&#039;&#039;&amp;lt;/code&amp;gt;. &#039;&#039;&#039;NOTE&#039;&#039;&#039;: do not use spaces or special characters.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;builders&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;headers&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as header files. Changing any of them will result in full project rebuild.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;source&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized and included into the [[Auto-generating MMS|auto-generated MMS]] file as source files.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;resource&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be synchronized but not included into the [[Auto-generating MMS|auto-generated MMS]] file.&lt;br /&gt;
# Adjust the &amp;lt;code&amp;gt;&#039;&#039;&#039;exclude&#039;&#039;&#039;&amp;lt;/code&amp;gt; field value to list the files similar to the described above but not to be synchronized and compiled.&lt;br /&gt;
# Check &amp;lt;code&amp;gt;&#039;&#039;&#039;listing&#039;&#039;&#039;&amp;lt;/code&amp;gt;. These files will be downloaded after building the project. Files &amp;quot;*.lis,*.map&amp;quot; are required for debugger.&lt;br /&gt;
# If the project depends on already installed libraries, specify the in the &amp;lt;code&amp;gt;&#039;&#039;&#039;addLibraries&#039;&#039;&#039;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&#039;&#039;&#039;addIncludes&#039;&#039;&#039;&amp;lt;/code&amp;gt; &lt;br /&gt;
&lt;br /&gt;
[https://www.youtube.com/watch?v=Ib1Fo6cG1Vs&amp;amp;list=PLewDXk9a8laO3cAZFPyZ4bbgcKsJ1qgPo Video tutorial: VMS IDE 1 Starting a Project]. In video &amp;quot;Project Settings&amp;quot; shown at 2:40 - 3:37 time period.&lt;br /&gt;
&lt;br /&gt;
[[Category:VMS IDE]]&lt;/div&gt;</summary>
		<author><name>Sergey vorfolomeev</name></author>
	</entry>
</feed>