![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
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 tests. 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.
|