VMS-Specific Python Modules: Difference between revisions
No edit summary |
|||
| Line 77: | Line 77: | ||
== vms.ile3 == | == vms.ile3 == | ||
Provides functions for working with the list. | Provides functions for working with the list. | ||
<ref>ile3new</ref> | |||
=== new()->object === | === new()->object === | ||
Creates empty item list. | Creates empty item list. | ||
Revision as of 08:03, 31 August 2020
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
rdb
- ↑ ile3new