The Question is:
Where can I find the integer values for the return value
from a f$getqui("display_queue","queue_status","queue_name")
I found the list items you can use in both the lexical and
system service sections of the documentation but neither
listed the values.
I want to be able to make the one call and compare the
value instead of multiple calls and a long list of boolean
The Answer is :
QUI$_QUEUE_STATUS returns a longword bitmask, not an integer value.
From zero to (potentially) 32 status code bits can be set in this mask
when the call returns. Based on the length of the longword and the
potential for any combination of bits to be set, the possible range
of integers that could (potentially) be returned by this itemcode
includes all values from 0 to %x0FFFFFFFF. (The Wizard would expect
that requiring up to 32 seperate bit masking operations to determine
which of the possible statuses are present would usually be preferable,
and would be rather easier to code, than a case table with up to four
billion integer entries.)
In the recent/current OpenVMS system service documentation for the
sys$getqui[w] itemcode QUI$_QUEUE_STATUS, a table is present that lists
the symbolic bit values -- this table also describes what each bit in
the bitmask means.
When working with OpenVMS bit definition symbols, realize that there
are both "V" bit offsets and "M" bit mask values. For instance, if
the bit offset symbol FOO$V_MUMBLE has the value 3, then the associated
FOO$M_MUMBLE will have the bitmask value 8.
Existing discussions of the f$getqui lexical include the following
topics: (813), (1240), (2159), (3951), (4546), (4568), (4903), (5188)
(5471), (5567), (5651), (5793), (5982), (6315), (6877), etc.