VMS-Specific Python Modules

From VSI OpenVMS Wiki
Revision as of 08:06, 31 August 2020 by Sergey vorfolomeev (talk | contribs) (parameters)
Jump to: navigation, search

VMS specific Python modules.

Contents

vms.decc

Wraps the C Run-Time Library for OpenVMS Systems functions.

dlopen_test(name:str)->int

Tries to open a shared image.

parameters

  • name:str path to the shared image

returns

  • 1 if the shared image exists and can be opened by dlopen()
  • 0 otherwise

fix_time(vms_time:int)->int

Converts VMS time to the Unix time.

parameters

  • vms_time:int VMS system time

returns

Time in Unix format (seconds that have elapsed since 1970.01.01)

from_vms(vms_path:str, wild_flag:int)->list

Converts VMS path to a list of Unix paths.

parameters

  • vms_path:str path in VMS format (supports wildcards)
  • wild_flag:int If set to 0, wildcards found in the vms_path are not expanded

returns

List of paths in Unix format

getenv(name:str, def_value:str)->str

Gets the specified environment variable value. See getenv() description in the C Run-Time Library Reference Manual for OpenVMS Systems documentation.

parameters

  • name:str name of the environment variable
  • def_value:str default value

returns

Environment variable value

sleep(seconds:int)->int

Suspends execution of the current process or thread for the specified number of seconds.

parameters

  • seconds:int seconds to sleep

returns

The number of seconds left to the end of the sleep period if sleep is interrupted. 0 if the process slept for the specified number of seconds.

sysconf(name:int)->int

Provides a method for determining the current value of a configurable system limit or whether optional features are supported.

parameters

  • name:int system variable to be queried

returns

Requested value

to_vms(unix_path:str, allow_wild:int, no_directory:int)->list

Converts UNIX style file specifications to OpenVMS file specifications.

parameters

  • unix_path:str file name in UNIX style file specification format
  • allow_wild:int If set to 0, wildcards found in unix_path are not expanded
  • no_directory:int An integer that has one of the following values:
    • 0 - Directory allowed
    • 1 - Prevent expansion of the string as a directory name
    • 2 - Force expansion of the string as a directory name

returns

List of paths in OpenVMS style

unixtime(vms_time:int)->int

Converts OpenVMS system time to the Unix local time.

parameters

  • vms_time:int OpenVMS system time

returns

Unix time

vmstime(unix_time:int)->int

Converts Unix time to the OpenVMS system time.

parameters

  • unix_time:int Unix time

returns

OpenVMS system time

vms.ile3

Provides functions for working with the list. [1]

new()->object

Creates empty item list.

parameters

None

returns

New empty item list

delete(il:object)->None

Deletes item list.

parameters

  • il:object item list to be removed

returns

OpenVMS system time

size(il:object)->int

Gets size of the item list.

parameters

  • il:object item list

returns

The size of the specified item list

addint(il:object, item:int, item_type:int, item_value:int)->None

Adds a new integer to the item list.

parameters

  • il:object item list
  • item:int item to add
  • item_type:int type of the item. See vms.dscdef
  • item_value:int value of the item

returns

None

getint(il:object, index:int)->int

Gets the integer at the specified index in the list.

parameters

  • il:object item list
  • index:int index of the item to get

returns

Integer value

gethex(il:object, index:int)->str

Gets the integer at the specified index in the item list and returns it as a hexadecimal string.

parameters

  • il:object item list
  • index:int index of the item to get

returns

Hexadecimal string

addstr(il:object, item:int, item_value:str, item_length:int)->None

Adds the specified string to the item list. If the item_value is not None, the item_length is ignored and the length of the buffer will be the same as the length of the item_value.

parameters

  • il:object item list
  • item:int item to add
  • item_value:str value to add (or None)
  • item_length:int length of the buffer if the item_value is None

returns

None

addstrd(il:object, item:int, item_value:str, item_length:int)->None

Adds the specified space-expanded string to the item list. The first byte of the buffer is the length of the string. If the item_value is longer than the item_length, it will be truncated.

parameters

  • il:object item list
  • item:int item to add
  • item_value:str value to add
  • item_length:int length of the buffer (the resulting string length is one byte less)

returns

None

addstrn(il:object, item:int, item_value:str, item_length:int)->None

Adds the specified space-expanded string to the item list. If the item_value is longer than the item_length, it will be truncated.

parameters

  • il:object item list
  • item:int item to add
  • item_value:str value to add
  • item_length:int length of the buffer

returns

None

getstr(il:object, index:int, flag:int)->str

Gets the string at the specified index in the item list.

parameters

  • il:object item list
  • index:int index of the item to get
  • flag:int if set to 1, the first byte of the resulting string is the length of the string

returns

String

addbin(il:object, item:int, item_value:int, item_offset:int, item_len:int)->None

Adds a new binary item to the list. It will be interpreted as a string.

parameters

  • il:object item list
  • item:int item to add
  • item_value:int value to store
  • item_offset:int starting byte
  • item_len:int amount of bytes

returns

None

getbyte(il:object, index:int, item_offset:int)->int

Gets the byte at the specified position in the item list.

parameters

  • il:object item list
  • index:int index of the item
  • item_offset:int starting byte

returns

Integer value of the specified byte

vms.lib

Wraps the OpenVMS RTL Library(LIB$) functions.

create_dir(name:str, uic:int, pe:int, pv:int)->int

Creates a directory.

parameters

  • name:str name of the directory to be created (specified in OpenVMS style)
  • uic:int unsigned integer value of the owner UIC:
    • None - the current user
    • 0 - owner of the parent directory
  • pe:int protection enable. See full documentation in the OpenVMS RTL Library(LIB$) Manual for LIB$CREATE_DIR.
  • pv:int protection value

returns

  • vms.ssdef.SS__CREATED one or more directories created
  • vms.ssdef.SS__NORMAL all specified directories already exist
  • another error. See in vms.ssdef

date_time()->list

Gets current date and time.

parameters

None

returns

The list:

  • int status code of the operation
  • str resulting string

get_ef()->list

Allocates a local event flag.

parameters

None

returns

The list:

  • int status code of the operation
  • int resulting event flag

free_ef(ef:int)->int

Releases the local event flag.

parameters

  • ef:int the local event flag

returns

Status code of the operation

put_common(common:str)->int

Copies a string into the common area.

parameters

  • common:str string to copy

returns

Status code of the operation

get_common()->list

Gets the string from the common area.

parameters

None

returns

The list:

  • int status code of the operation
  • str resulting string

get_hostname(flags:int)->list

Gets the host name of the local system.

parameters

  • flags:int if set to 1, the host node name is returned in the parsable form

returns

The list:

  • int status code of the operation
  • str resulting host node name

getjpi(item_code:int, pid:int, pname:str)->list

Gets the specified job/process information as a string.

parameters

  • item_code:int item identifier code defining the item of information to be returned. See vms.jpidef
  • pid:int process id
  • pname:str process name

For valid combination of the values of pid and pname see the OpenVMS RTL Library(LIB$) Manual for LIB$GETJPI. The resulting pid is not returned.

returns

The list:

  • int status code of the operation
  • str resulting string

getsyi(item_code:int, node_name:str)->list

Gets system wide information as a string.

parameters

  • item_code:int item identifier code defining the item of information to be returned. See vms.syidef
  • node_name:str node name

returns

The list:

  • int status code of the operation
  • str resulting string
  • int resulting cluster system id

spawn(command:str, input_file:str, output_file:str, flags:int, pname:str)->list

Requests the command language interpreter (CLI) of the calling process to spawn a subprocess for executing CLI commands.

parameters

  • command:str command to execute
  • input_file:str equivalence name to be associated with the logical name SYS$INPUT
  • output_file:str equivalence name to be associated with the logical name SYS$OUTPUT
  • flags:int flag bits that designate optional behavior. See vms.clidef
  • pname:str name defined for the subprocess

returns

The list:

  • int status code of the operation
  • int process id of the spawned process

do_command(command:str)->None

Stops program execution and directs the command language interpreter (CLI) to execute a command that is supplied as the argument.

parameters

  • command:str command to execute

returns

If successful, it does not return control to the calling program.

vms.sys

Wraps the OpenVMS System Services functions.

asctim(vms_time:int, time_only:int)->list

Converts an absolute or delta time from 64-bit system time format to an ASCII string.

parameters

  • vms_time:int OpenVMS system time. A negative time value represents a delta time.
  • time_only:int if set to 1, asctim returns the hour only.

returns

The list:

  • int status code of the operation
  • str resulting string

bintim(time_str:str)->list

Converts an ASCII string to an absolute or delta time value in the system 64-bit time format.

parameters

  • time_str:str in format:
    • Absolute Time: dd-mmm-yyyy hh:mm:ss.cc
    • Delta Time: dddd hh:mm:ss.cc

returns

The list:

  • int status code of the operation
  • int resulting time value

asctoid(name:str)->list

Translates the specified identifier name into its binary identifier value.

parameters

  • name:str identifier name

returns

The list:

  • int status code of the operation
  • int resulting identifier value
  • int resulting identifier attributes. See vms.kgbdef

idtoasc(id_val:int, context:int)->list

Translates the specified identifier value to the identifier name.

parameters

  • id_val:int identifier value. See OpenVMS System Services Reference Manual for SYS$IDTOASC
  • context:int context value used when idtoasc is called repeatedly. Must be initialized with the value 0.

returns

The list:

  • int status code of the operation
  • str resulting identifier name
  • int resulting identifier value
  • int resulting identifier attributes. See vms.kgbdef
  • int resulting context

crembx(tmp:int, maxmsg:int, bufquo:int, promsk:int, acmode:int, mbx_name:string, flags:int)->list

Creates a virtual mailbox device.

parameters

  • tmp:int the first bit specifies a permanent mailbox
  • maxmsg:int maximum size of a message (in bytes)
  • bufquo:int number of bytes of system dynamic memory that can be used to buffer messages sent to the mailbox
  • promsk:int protection mask to be associated with the created mailbox
  • acmode:int access mode to be associated with the channel to which the mailbox is assigned
  • mbx_name:string logical name to be assigned to the mailbox
  • flags:int options for the assign operation. See vms.cmbdef

returns

The list:

  • int status code of the operation
  • int resulting channel

delmbx(channel:int)->int

Marks a permanent mailbox for deletion.

parameters

  • channel:int mailbox channel

returns

Status code

assign(devnam:str, acmode:int, mbxnam:str, flags:int)->list

Provides a process with an I/O channel.

parameters

  • devnam:str name of the device
  • acmode:int access mode to be associated with the channel
  • mbxnam:str logical name of the mailbox to be associated with the device
  • flags:int an optional device-specific argument

returns

The list:

  • int status code of the operation
  • int resulting channel

dassgn(channel:int)->int

Unassigns (releases) an I/O channel.

parameters

  • channel:int number of the I/O channel to be unassigned

returns

Status code

readvblk(channel:int, max_read:int, block:int, fmod:int)->list

Read from I/O channel.

parameters

  • channel:int I/O channel
  • max_read:int amount of bytes to read
  • block:int starting block
  • fmod:int function code modifiers

returns

The list:

  • int status code of the operation
  • byte resulting buffer
  • int I/O completion code

writevblk(channel:int, buffer:bytes, block:int, fmod:int)->list

Write to I/O channel.

parameters

  • channel:int I/O channel
  • buffer:bytes bytes to write
  • block:int starting block
  • fmod:int function code modifiers

returns

The list:

  • int status code of the operation
  • int amount of written bytes
  • int I/O completion code

cancel(channel:int)->int

Cancel I/O operation.

parameters

  • channel:int I/O channel

returns

Status code

crelnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)->int

Creates a logical name and specifies its equivalence names.

parameters

  • attr:int attributes to be associated with the logical name. See vms.lnmdef
  • tabnam:str name of the table in which to create the logical name
  • lognam:str logical name to be created
  • acmode:int access mode to be associated with the logical name. See vms.psldef
  • il:object item list, created via vms.ile3.new()

See OpenVMS System Services Reference Manual for SYS$CRELNM.

returns

Status code

rdb

  1. ile3new