(LOGO.JPG) Python for OpenVMS

(go to: table of contents, index, list of vms_sys, prev: BINUTC, next: CANWAK)


BRKTHRUW - Breakthrough and Wait


Format:
    status, iosb = vms_sys.brkthruw ([efn], msgbuf, [sendto], \
                   [sndtyp], [iosb], [carcon], [flags], [reqid],\
                   [timout], [astadr], [astprm])
Returns:
status
Condition value as returned by SYS$BRKTHRUW. Note that this code only tells whether the system service started successfully. The final status code is in the 'iosb'.
iosb
A 'vmsobj_iosb' object that provides storage for the OpenVMS IOSB (I/O status block). See the description of 'status' above and the 'iosb' argument below.
The final status code is in the first word of the IOSB - see the Examples section below.
Arguments:
efn
Event flag number.
msgbuf
The message string. See the 'OpenVMS System Services Reference Manual' for information about length limits. Look for the argument description and under 'Required Quota'.
sendto
Name of a single device (terminal) or username to which the message in 'msgbuf' should be sent.
sndtyp
Type of terminal where the message is to be sent to. Constants like BRK_C_USERNAME are in module 'vms_brkdef'.
iosb
I/O status block. An IOSB should ALWAYS specified, because this is the only place that contains the status code AFTER the system service completed. 'status', as returned only gives information whether the system service has been started successfully.

The Python interface routine expects a vmsobj_iosb object. If the programmer specifies 'None' for the iosb argument, then the interface routine automatically generates a vmsobj_iosb object, passes the OpenVMS IOSB to SYS$BRKTHRUW and returns the object after the system service has completed!

carcon
Carriage control specifier - see the 'OpenVMS System Services Reference Manual' for details.
flags
Options for SYS$BRKTHRUW. Bitmasks like BCK_M_CLUSTER are in module 'vms_brkdef'. BRK$V_ERASE_LINES is not in this module - see the manual to understand how to specify the number of lines to erase.
requid
'class requester identification' - again, see the manual for details. Constants for class names like BRK_C_GENERAL or BRK_C_MAIL are in module 'vms_brkdef'.
timout
Timeout value, a Python integer. See the 'OpenVMS System Services Reference Manual' for details about valid values.
astadr
This argument is ignored.
astprm
This argument is ignored.
Examples:
>>> import vms_sys
>>> import vms_brkdef

>>> timeout = 8
>>> status, iosb = vms_sys.brkthruw \
...                 (None                       # [efn]
...                 ,'XX\n**'                   # msgbuf
...                 ,'ZESSIN'                   # [sendto]
...                 ,vms_brkdef.BRK_C_USERNAME  # [sndtyp]
...                 ,None                       # [iosb]
...                 ,None                       # [carcon]
...                 ,None                       # [flags]
...                 ,vms_brkdef.BRK_C_GENERAL   # [reqid]
...                 ,timeout                    # [timout]
...                 )
XX
  **
>>> print vms_sys.getmsg (status) [0]
%SYSTEM-S-NORMAL, normal successful completion
>>>
>>> print iosb.w
(1, 5, 0, 5)
>>> status_final, send_ok, send_tmo, send_nobrdcst = iosb.w

        or

>>> status_final = iosb.w0

>>> print vms_sys.getmsg (status_final) [0]
%SYSTEM-S-NORMAL, normal successful completion
>>>

@@ more examples for BRKTHRUW

>>>

(go to: table of contents, index, list of vms_sys, prev: BINUTC, next: CANWAK)

15-AUG-1999 ZE.