[Info-vax] Looking for suggestions for new $GETDVI item codes
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Wed Jan 14 16:43:24 EST 2015
On 2015-01-14 19:54:45 +0000, kenneth.randell at verizon.net said:
> Try a DVI$_MAXBLOCK on a drive over 1.0 TB capacity and you get a
> negative number. DVI$_FREEBLOCKS has the same issue.
FWIW, whatever programming language you're working with here (DCL?) is
apparently defaulting to a 32-bit, signed longword, integer
representation.
sys$getdvi[w] is returning an unsigned longword value, as that's the
only way to fit a 2 TiB block value via a longword.
The DCL environment just doesn't implement unsigned integer values.
Nor does DCL offer floating point values, quadword signed or unsigned
integers, nor extended-precision math, nor arrays and dictionaries and
data structures, definitely no objects, command line completion,
immutable data, UTF-8 character encoding, regular expressions, nor
user-written lexical functions or any other forms of extensions, or
other increasingly-expected constructs. And yes, there are some
hack-arounds available for some of these. But integers? Those are
signed values.
Part of the delay involved in extending the supported volume sizes to 2
TiB was due to the need to ensure that existing OpenVMS system code
always treated the disk size values as unsigned integers. Prior to
that work, the OpenVMS code had never been supported past 1 TiB, and
was expected to have some "wrinkles".
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list