VMS-Specific Python Modules: Difference between revisions
No edit summary |
|||
| Line 1: | Line 1: | ||
VMS specific Python modules. | VMS specific Python modules. | ||
== vms.decc == | == vms.decc == | ||
Wraps the ''' | Wraps the '''C Run-Time Library for OpenVMS Systems''' functions. | ||
=== dlopen_test(name:str)->int === | === dlopen_test(name:str)->int === | ||
| Line 27: | Line 27: | ||
=== getenv(name:str, def_value:str)->str === | === getenv(name:str, def_value:str)->str === | ||
Gets the specified environment variable value. See getenv() description in the ''' | Gets the specified environment variable value. See getenv() description in the '''C Run-Time Library Reference Manual for OpenVMS Systems''' documentation. | ||
==== parameters ==== | ==== parameters ==== | ||
* <code>name:str</code> name of the environment variable | * <code>name:str</code> name of the environment variable | ||
| Line 185: | Line 185: | ||
== vms.lib == | == vms.lib == | ||
Wraps the ''' | Wraps the '''OpenVMS RTL Library(LIB$)''' functions. | ||
=== create_dir(name:str, uic:int, pe:int, pv:int)->int === | === create_dir(name:str, uic:int, pe:int, pv:int)->int === | ||
| Line 194: | Line 194: | ||
** <code>None</code> - the current user | ** <code>None</code> - the current user | ||
** <code>0</code> - owner of the parent directory | ** <code>0</code> - owner of the parent directory | ||
* <code>pe:int</code> protection enable. See full documentation in the ''' | * <code>pe:int</code> protection enable. See full documentation in the '''OpenVMS RTL Library(LIB$) Manual''' for LIB$CREATE_DIR. | ||
* <code>pv:int</code> protection value | * <code>pv:int</code> protection value | ||
==== returns ==== | ==== returns ==== | ||
| Line 257: | Line 257: | ||
* <code>pid:int</code> process id | * <code>pid:int</code> process id | ||
* <code>pname:str</code> process name | * <code>pname:str</code> process name | ||
For valid combination of the values of <code>pid</code> and <code>pname</code> see the ''' | For valid combination of the values of <code>pid</code> and <code>pname</code> see the '''OpenVMS RTL Library(LIB$) Manual''' for LIB$GETJPI. The resulting <code>pid</code> is not returned. | ||
==== returns ==== | ==== returns ==== | ||
The list: | The list: | ||
| Line 295: | Line 295: | ||
== vms.sys == | == vms.sys == | ||
Wraps the '''OpenVMS System Services'''functions. | Wraps the '''OpenVMS System Services''' functions. | ||
=== asctim(vms_time:int, time_only:int)->list === | === asctim(vms_time:int, time_only:int)->list === | ||
| Line 331: | Line 331: | ||
Translates the specified identifier value to the identifier name. | Translates the specified identifier value to the identifier name. | ||
==== parameters ==== | ==== parameters ==== | ||
* <code>id_val:int</code> identifier value. See ''' | * <code>id_val:int</code> identifier value. See '''OpenVMS System Services Reference Manual''' for SYS$IDTOASC | ||
* <code>context:int</code> context value used when <code>idtoasc</code> is called repeatedly. Must be initialized with the value 0. | * <code>context:int</code> context value used when <code>idtoasc</code> is called repeatedly. Must be initialized with the value 0. | ||
==== returns ==== | ==== returns ==== | ||
| Line 360: | Line 360: | ||
==== parameters ==== | ==== parameters ==== | ||
* <code>channel:int</code> mailbox channel | * <code>channel:int</code> mailbox channel | ||
==== returns ==== | |||
Status code | |||
=== assign(devnam:str, acmode:int, mbxnam:str, flags:int)->list === | |||
Provides a process with an I/O channel. | |||
==== parameters ==== | |||
* <code>devnam:str</code> name of the device | |||
* <code>acmode:int</code> access mode to be associated with the channel | |||
* <code>mbxnam:str</code> logical name of the mailbox to be associated with the device | |||
* <code>flags:int</code> an optional device-specific argument | |||
==== returns ==== | |||
The list: | |||
* <code>int</code> status code of the operation | |||
* <code>int</code> resulting channel | |||
=== dassgn(channel:int)->int === | |||
Unassigns (releases) an I/O channel. | |||
==== parameters ==== | |||
* <code>channel:int</code> 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 ==== | |||
* <code>channel:int</code> I/O channel | |||
* <code>max_read:int</code> amount of bytes to read | |||
* <code>block:int</code> starting block | |||
* <code>fmod:int</code> function code modifiers | |||
==== returns ==== | |||
The list: | |||
* <code>int</code> status code of the operation | |||
* <code>byte</code> resulting buffer | |||
* <code>int</code> I/O completion code | |||
=== writevblk(channel:int, buffer:bytes, block:int, fmod:int)->list === | |||
Write to I/O channel. | |||
==== parameters ==== | |||
* <code>channel:int</code> I/O channel | |||
* <code>buffer:bytes</code> bytes to write | |||
* <code>block:int</code> starting block | |||
* <code>fmod:int</code> function code modifiers | |||
==== returns ==== | |||
The list: | |||
* <code>int</code> status code of the operation | |||
* <code>int</code> amount of written bytes | |||
* <code>int</code> I/O completion code | |||
=== cancel(channel:int)->int === | |||
Cancel I/O operation. | |||
==== parameters ==== | |||
* <code>channel:int</code> 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 ==== | |||
* <code>attr:int</code> attributes to be associated with the logical name. See '''vms.lnmdef''' | |||
* <code>tabnam:str</code> name of the table in which to create the logical name | |||
* <code>lognam:str</code> logical name to be created | |||
* <code>acmode:int</code> access mode to be associated with the logical name. See '''vms.psldef''' | |||
* <code>il:object</code> item list, created via <code>vms.ile3.new()</code> | |||
See '''OpenVMS System Services Reference Manual''' for SYS$CRELNM. | |||
==== returns ==== | ==== returns ==== | ||
Status code | Status code | ||
== rdb == | == rdb == | ||
Revision as of 07:56, 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.
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