VMS-Specific Python Modules
VMS specific Python modules.
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:strpath to the shared image
returns
1if the shared image exists and can be opened by dlopen()0otherwise
fix_time(vms_time:int)->int
Converts VMS time to the Unix time.
parameters
vms_time:intVMS 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:strpath in VMS format (supports wildcards)wild_flag:intIf set to0, wildcards found in thevms_pathare 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:strname of the environment variabledef_value:strdefault 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:intseconds 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:intsystem 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:strfile name in UNIX style file specification formatallow_wild:intIf set to0, wildcards found inunix_pathare not expandedno_directory:intAn 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:intOpenVMS system time
returns
Unix time
vmstime(unix_time:int)->int
Converts Unix time to the OpenVMS system time.
parameters
unix_time:intUnix 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:objectitem list to be removed
returns
OpenVMS system time
size(il:object)->int
Gets size of the item list.
parameters
il:objectitem 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:objectitem listitem:intitem to additem_type:inttype of the item. See vms.dscdefitem_value:intvalue of the item
returns
None
getint(il:object, index:int)->int
Gets the integer at the specified index in the list.
parameters
il:objectitem listindex:intindex 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:objectitem listindex:intindex 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:objectitem listitem:intitem to additem_value:strvalue to add (orNone)item_length:intlength of the buffer if theitem_valueisNone
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:objectitem listitem:intitem to additem_value:strvalue to additem_length:intlength 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:objectitem listitem:intitem to additem_value:strvalue to additem_length:intlength 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:objectitem listindex:intindex of the item to getflag:intif set to1, 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:objectitem listitem:intitem to additem_value:intvalue to storeitem_offset:intstarting byteitem_len:intamount 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:objectitem listindex:intindex of the itemitem_offset:intstarting 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:strname of the directory to be created (specified in OpenVMS style)uic:intunsigned integer value of the owner UIC:None- the current user0- owner of the parent directory
pe:intprotection enable. See full documentation in the OpenVMS RTL Library(LIB$) Manual for LIB$CREATE_DIR.pv:intprotection value
returns
vms.ssdef.SS__CREATEDone or more directories createdvms.ssdef.SS__NORMALall specified directories already exist- another error. See in vms.ssdef
date_time()->list
Gets current date and time.
parameters
None
returns
The list:
intstatus code of the operationstrresulting string
get_ef()->list
Allocates a local event flag.
parameters
None
returns
The list:
intstatus code of the operationintresulting event flag
free_ef(ef:int)->int
Releases the local event flag.
parameters
ef:intthe local event flag
returns
Status code of the operation
put_common(common:str)->int
Copies a string into the common area.
parameters
common:strstring to copy
returns
Status code of the operation
get_common()->list
Gets the string from the common area.
parameters
None
returns
The list:
intstatus code of the operationstrresulting string
get_hostname(flags:int)->list
Gets the host name of the local system.
parameters
flags:intif set to1, the host node name is returned in the parsable form
returns
The list:
intstatus code of the operationstrresulting host node name
getjpi(item_code:int, pid:int, pname:str)->list
Gets the specified job/process information as a string.
parameters
item_code:intitem identifier code defining the item of information to be returned. See vms.jpidefpid:intprocess idpname:strprocess 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:
intstatus code of the operationstrresulting string
getsyi(item_code:int, node_name:str)->list
Gets system wide information as a string.
parameters
item_code:intitem identifier code defining the item of information to be returned. See vms.syidefnode_name:strnode name
returns
The list:
intstatus code of the operationstrresulting stringintresulting 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:strcommand to executeinput_file:strequivalence name to be associated with the logical name SYS$INPUToutput_file:strequivalence name to be associated with the logical name SYS$OUTPUTflags:intflag bits that designate optional behavior. See vms.clidefpname:strname defined for the subprocess
returns
The list:
intstatus code of the operationintprocess 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:strcommand 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:intOpenVMS system time. A negative time value represents a delta time.time_only:intif set to1, asctim returns the hour only.
returns
The list:
intstatus code of the operationstrresulting 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:strin format:- Absolute Time: dd-mmm-yyyy hh:mm:ss.cc
- Delta Time: dddd hh:mm:ss.cc
returns
The list:
intstatus code of the operationintresulting time value
asctoid(name:str)->list
Translates the specified identifier name into its binary identifier value.
parameters
name:stridentifier name
returns
The list:
intstatus code of the operationintresulting identifier valueintresulting identifier attributes. See vms.kgbdef
idtoasc(id_val:int, context:int)->list
Translates the specified identifier value to the identifier name.
parameters
id_val:intidentifier value. See OpenVMS System Services Reference Manual for SYS$IDTOASCcontext:intcontext value used whenidtoascis called repeatedly. Must be initialized with the value 0.
returns
The list:
intstatus code of the operationstrresulting identifier nameintresulting identifier valueintresulting identifier attributes. See vms.kgbdefintresulting 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:intthe first bit specifies a permanent mailboxmaxmsg:intmaximum size of a message (in bytes)bufquo:intnumber of bytes of system dynamic memory that can be used to buffer messages sent to the mailboxpromsk:intprotection mask to be associated with the created mailboxacmode:intaccess mode to be associated with the channel to which the mailbox is assignedmbx_name:stringlogical name to be assigned to the mailboxflags:intoptions for the assign operation. See vms.cmbdef
returns
The list:
intstatus code of the operationintresulting channel
delmbx(channel:int)->int
Marks a permanent mailbox for deletion.
parameters
channel:intmailbox channel
returns
Status code
assign(devnam:str, acmode:int, mbxnam:str, flags:int)->list
Provides a process with an I/O channel.
parameters
devnam:strname of the deviceacmode:intaccess mode to be associated with the channelmbxnam:strlogical name of the mailbox to be associated with the deviceflags:intan optional device-specific argument
returns
The list:
intstatus code of the operationintresulting channel
dassgn(channel:int)->int
Unassigns (releases) an I/O channel.
parameters
channel:intnumber 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:intI/O channelmax_read:intamount of bytes to readblock:intstarting blockfmod:intfunction code modifiers
returns
The list:
intstatus code of the operationbyteresulting bufferintI/O completion code
writevblk(channel:int, buffer:bytes, block:int, fmod:int)->list
Write to I/O channel.
parameters
channel:intI/O channelbuffer:bytesbytes to writeblock:intstarting blockfmod:intfunction code modifiers
returns
The list:
intstatus code of the operationintamount of written bytesintI/O completion code
cancel(channel:int)->int
Cancel I/O operation.
parameters
channel:intI/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:intattributes to be associated with the logical name. See vms.lnmdeftabnam:strname of the table in which to create the logical namelognam:strlogical name to be createdacmode:intaccess mode to be associated with the logical name. See vms.psldefil:objectitem list, created viavms.ile3.new()
See OpenVMS System Services Reference Manual for SYS$CRELNM.
returns
Status code
trnlnm(attr:int, tabnam:str, lognam:str, acmode:int, il:object)->int
Returns information about the specified logical name.
parameters
attr:intattributes controlling the search for the logical name. See vms.lnmdeftabnam:strname of the logical name table or the name of a searchlist logical namelognam:strlogical name for which information is to be returnedacmode:intaccess mode to be used in the translation. See vms.psldefil:objectitem list, created viavms.ile3.new()
See OpenVMS System Services Reference Manual for SYS$TRNLNM.
returns
Status code
dellnm(tabnam:str, lognam:str, acmode:int)->int
Deletes all logical names with the specified name.
parameters
tabnam:strname of the logical name table or the name of a searchlist logical namelognam:strlogical name to be deletedacmode:intaccess mode to be used in the delete operation. See vms.psldef
returns
Status code
device_scan(search_devnam:str, item_list:object, context:int)->list
Returns the names of all devices that match a specified set of search criteria.
parameters
search_devnam:strname of the device for whichdevice_scanto searchitem_list:objectitem list specifying search criteriacontext:intvalue used to indicate the current position of the search. On the initial call it must contain0.
See OpenVMS System Services Reference Manual for SYS$DEVICE_SCAN
returns
The list:
intstatus code of the operationstrfound device nameintcontext
uicstr(uic:int, flags:int)->list
Converts UIC to a string.
parameters
uic:intUICflags:int0- use "!%I" SYS$FAO format1- use "!%U" SYS$FAO format
returns
The list:
intstatus code of the operationstrUIC string
getdvi(dev_nam:str, item_list:object)->int
Returns information related to the primary and secondary device characteristics of an I/O device.
parameters
dev_nam:strthe name of the device for which information is to be returneditem_list:objectitem list specifying which information about the device is to be returned.
See OpenVMS System Services Reference Manual for SYS$GETDVI
returns
Status code
getjpi(pid:int, pnam:str, item_list:object)->list
Returns information about one or more processes of the system or across the OpenVMS Cluster system.
parameters
pid:intprocess identificationpnam:strname of the processitem_list:objectitem list specifying which information about the process or processes is to be returned
See OpenVMS System Services Reference Manual for SYS$GETJPI
returns
The list:
intstatus code of the operationintprocess id
getlki(lki:int, item_list:object)->list
Returns information about the lock database on a system.
parameters
lki:intidentification of the lock (lock ID) information about which needs to be returneditem_list:objectitem list specifying the lock information to be returned
See OpenVMS System Services Reference Manual for SYS$GETLKI
returns
The list:
intstatus code of the operationintlock identification
getmsg(msgid:int, flags:int)->list
Returns message text associated with a given message identification code.
parameters
msgid:intidentification of the message to be retrievedflags:intmessage components to be returned
See OpenVMS System Services Reference Manual for SYS$GETMSG
returns
The list:
intstatus code of the operationstrmessage stringintoptional information
getqui(func:int, context:int, item_list:object)->list
Returns information about queues and the jobs initiated from these queues.
parameters
func:intfunction code specifying the function thatgetquiis to perform. See vms.quidefcontext:intcontext stream for this callitem_list:objectitem list supplying the information to be used by the function
See OpenVMS System Services Reference Manual for SYS$GETQUI
returns
The list:
intstatus code of the operationintcontext
getrmi(item_list:object)->int
Returns system performance information about the local system.
parameters
item_list:objectitem list specifying which information about the local node is to be returned
See OpenVMS System Services Reference Manual for SYS$GETRMI
returns
Status code
getsyi(csid:int, node_name:str, item_list:object)->list
Returns information about the local system or about other systems in an OpenVMS Cluster system.
parameters
csid:intOpenVMS Cluster system identificationnode_name:strname of the node about which information is to be returneditem_list:objectitem list specifying which information about the node or nodes to return
See OpenVMS System Services Reference Manual for SYS$GETSYI
returns
The list:
intstatus code of the operationintcsid
gettim()->list
Returns the current system time in a 64-bit format.
parameters
None
returns
The list:
intstatus code of the operationintcurrent system time
getuai(user_name:str, item_list:object)->int
Returns authorization information about the specified user.
parameters
user_name:strname of the user to get authorization information foritem_list:objectitem list specifying which information to return
See OpenVMS System Services Reference Manual for SYS$GETUAI
returns
Status code
hiber()->int
Allows a process to make itself inactive but to remain known to the system so that it can be interrupted.
parameters
None
returns
Status code
schdwk(pid:int, pname:str, time:int)->list
Schedules the awakening (restart) of a process that has placed itself in the state of hibernation with the Hibernate service.
parameters
pid:intprocess identification (PID) of the process to be awakenedpname:strname of the process to be awakenedtime:inttime at which the process to be awakened
See OpenVMS System Services Reference Manual for SYS$SCHDWK
returns
The list:
intstatus code of the operationintpid
add_holder(id:int, holder:int, attrib:int)->int
Adds a specified holder record to a target identifier.
parameters
id:inttarget identifier granted to the specified holderholder:intholder identifier that is granted access to the target identifierattrib:intattributes to be placed in the holder record
See OpenVMS System Services Reference Manual for SYS$ADD_HOLDER
returns
Status code
add_ident(name:str, id:int, attrib:int)->list
Adds the specified identifier to the rights database.
parameters
name:stridentifier name to be added to the rights databaseid:intidentifier to be createdattrib:intattributes placed in the identifier’s record
See OpenVMS System Services Reference Manual for SYS$ADD_IDENT
returns
The list:
intstatus code of the operationintresid, identifier value assigned by the system
find_held(holder:int, context:int)->list
Returns the identifiers held by the specified holder.
parameters
holder:intholder whose identifiers to be foundcontext:intcontext value used whenfind_heldis called repeatedly
See OpenVMS System Services Reference Manual for SYS$FIND_HELD
returns
The list:
intstatus code of the operationintid, identifier value that was foundintattribattributes associated with the holder returned inidintcontext
finish_rdb(context:int)->int
Deallocates the record stream and clears the context value.
parameters
context:intcontext value to be cleared
returns
Status code
forcex(pid:int, pname:str, code:int)->int
Causes an Exit ($EXIT) service call to be issued on behalf of a specified process.
parameters
pid:intprocess identification (PID) of the process to force exitpname:strprocess name of the process that is to force exitcode:intcompletion code value to be used as the exit parameter
returns
Status code
rem_holder(id:int, holder:int)->int
Deletes the specified holder record from the target identifier’s list of holders.
parameters
id:intbinary value of the target identifierholder:intidentifier of the holder being deleted
returns
Status code
rem_ident(id:int)->int
Removes the specified identifier record and all its holder records (if any) from the rights database.
parameters
id:intbinary value of the identifier deleted from rights database
returns
Status code
setuai(user_name:str, item_list:object)->int
Modifies the user authorization file (UAF) record for the specified user.
parameters
user_name:strname of the user whose UAF record is modifieditem_list:objectitem list specifying which information from the specified UAF record is to be modified
See OpenVMS System Services Reference Manual for SYS$SETUAI
returns
Status code
show_intrusion(user_criteria:str, flags:int, context:int)->list
Searches for and returns information about records in the intrusion database matching the caller specifications.
parameters
user_criteria:strdescription of an intruder or suspectflags:inttype of records in the intrusion database about which information is to be returned. NOTE: do not use vms.ciadef.CIA_M_ITEMLIST, becauseuser_criteriais a stringcontext:intcontext information to keep between related calls
See OpenVMS System Services Reference Manual for SYS$SETUAI
returns
The list:
intstatus code of the operationstrintruder, user specification of the matched intruder or suspect record in the intrusion databaseintexpires, quadword time format indicating the time when the record will expireinttype, the types of the matched record and the status of the suspectintcount, number of login failures or break-in attempts
rdb
- ↑ ile3new