 |
HP OpenVMS System Services Reference Manual
HP OpenVMS System Services Reference Manual
On Alpha and I64, this item code can be used with the PATHNAME
parameter. If the PATHNAME parameter is omitted, the summation of the
operation counts for all paths in a multipath device is returned (which
was the behavior prior to the introduction of the PATHNAME parameter).
If the PATHNAME parameter is specified, only the operation count for
that path is returned.
DVI$_OWNUIC
Returns the user identification code (UIC) of the owner of the device
as a standard 4-byte UIC.
DVI$_PATH_AVAILABLE
On Alpha and I64, returns an unsigned longword, interpreted as Boolean.
A value of 1 indicates the specified path is available.
This item code is usually used with the PATHNAME parameter. If the
PATHNAME parameter is omitted, information about the current path of
the multipath device is returned.
DVI$_PATH_NOT_RESPONDING
On Alpha and I64, returns an unsigned longword, interpreted as Boolean.
A value of 1 indicates the specified path is marked as not responding.
This item code is usually used with the PATHNAME parameter. If the
PATHNAME parameter is omitted, information about the current path of
the multipath device is returned.
DVI$_PATH_POLL_ENABLED
On Alpha and I64, returns an unsigned longword, interpreted as Boolean.
A value of 1 indicates that the specified path is enabled for multipath
polling.
This item code is usually used with the PATHNAME parameter. If the
PATHNAME parameter is omitted, information about the current path of
the multipath device is returned.
DVI$_PATH_SWITCH_FROM_TIME
On Alpha and I64, returns the time from which this path was switched,
either manually or automatically. Because the returned time is in the
standard 64-bit absolute time format, the buffer length field in the
item descriptor should specify 8 (bytes).
This item code is usually used with the PATHNAME parameter. If the
PATHNAME parameter is omitted, information about the current path of
the multipath device is returned.
DVI$_PATH_SWITCH_TO_TIME
On Alpha and I64, returns the time to which this path was switched,
either manually or automatically. Because the returned time is in the
standard 64-bit absolute time format, the buffer length field in the
item descriptor should specify 8 (bytes).
This item code is usually used with the PATHNAME parameter. If the
PATHNAME parameter is omitted, information about the current path of
the multipath device is returned.
DVI$_PATH_USER_DISABLED
On Alpha and I64, returns an unsigned longword, interpreted as Boolean.
A value of 1 indicates the specified path has been disabled using the
$SET DEVICE /PATH /NOENABLE command.
This item code is usually used with the PATHNAME parameter. If the
PATHNAME parameter is omitted, information about the current path of
the multipath device is returned.
DVI$_PID
Returns the process identification (PID) of the owner of the device as
an unsigned integer longword.
DVI$_PREFERRED_CPU
The return argument is a 32-bit CPU bit mask with a bit set indicating
the preferred CPU. A return argument containing a bit mask of zero
indicates that no preferred CPU exists, either because Fast Path is
disabled or the device is not a Fast Path capable device. The return
argument serves as a CPU bit mask input argument to the
$PROCESS_AFFINITY system service. The argument can be used to assign an
application process to the optimal preferred CPU.
DVI$_PROT_SUBSYSTEM_ENABLED
On Alpha and I64, returns an unsigned longword, which is interpreted as
Boolean. A value of 1 indicates the volume is mounted with protected
subsystems enabled.
DVI$_RECSIZ
Returns the blocked record size as an unsigned integer longword.
DVI$_REFCNT
Returns the number of channels assigned to the device as an unsigned
integer longword.
DVI$_REMOTE_DEVICE
Returns a longword, which is interpreted as Boolean. A value of 1
indicates that the device is a remote device; a value of 0 indicates
that it is not a remote device. A remote device is a device that is not
directly connected to the local node, but instead is visible through
the OpenVMS Cluster system.
DVI$_ROOTDEVNAM
Returns the device name of the root volume in the volume set as a
64-byte, zero-filled string. This item code is applicable only to disks.
DVI$_SCSI_DEVICE_FIRMWARE_REV
On Alpha and I64, returns as a four-character string the firmware
revision of a SCSI disk or SCSI tape. This item code is valid only for
SCSI disks and SCSI tapes; a null string is returned for any other
device.
DVI$_SECTORS
Returns the number of sectors per track as an unsigned integer
longword. This item code is applicable only to disks.
DVI$_SERIALNUM
Returns the serial number of the volume as an unsigned integer
longword. This item code is applicable only to disks.
DVI$_SERVED_DEVICE
Returns a longword, which is interpreted as Boolean. A value of 1
indicates that the device is a served device; a value of 0 indicates
that it is not a served device. A served device is one whose local node
makes it available to other nodes in the OpenVMS Cluster system.
DVI$_SHDW_CATCHUP_COPYING
Returns a longword, which is interpreted as Boolean. The value 1
indicates that the device is the target of a full copy operation.
DVI$_SHDW_COPIER_NODE
On Alpha and I64, returns the name of the node that is actively
performing either the copy or the merge operation, as a string.
DVI$_SHDW_DEVICE_COUNT
On Alpha and I64, returns the total number of devices in the virtual
unit, including devices being added as copy targets, as a longword.
DVI$_SHDW_GENERATION
On Alpha and I64, returns the current, internal revision number of the
virtual unit, as a quadword.
DVI$_SHDW_MASTER
Returns a longword, which is interpreted as Boolean. The value 1
indicates that the device is a virtual unit named DSAnnnn:.
DVI$_SHDW_MASTER_MBR
On Alpha and I64, returns the name of the master member unit that is
used for merge and copy repair operations and for shadow set recovery
operations, as a string.
DVI$_SHDW_MASTER_NAME
When the specified device is a shadow set member, $GETDVI returns the
device name of the virtual unit (DSAnnnn:) that represents the shadow
set of which the specified device is a member. $GETDVI returns a null
string if the specified device is not a member or is itself a virtual
unit (DSAnnnn:).
Note
Shadow set members must have a nonzero allocation class to operate in
an OpenVMS Cluster system. Refer to HP Volume Shadowing for OpenVMS for more information.
|
Because the shadow set virtual unit name can include up to 64
characters, the buffer length field of the item descriptor should
specify 64 (bytes).
DVI$_SHDW_MBR_COPY_DONE
On Alpha and I64, returns the percentage of the copy operation that is
complete on the current member unit, as a longword.
DVI$_SHDW_MBR_COUNT
On Alpha and I64, returns the number of full source members in the
virtual unit, as a longword. Devices added as copy targets are not full
source members.
DVI$_SHDW_MBR_MERGE_DONE
On Alpha and I64, returns the percentage of the merge operation that
has been completed on the member, as a longword.
DVI$_SHDW_MBR_READ_COST
On Alpha and I64, returns the current value set for the member unit, as
a longword. This value can be modified to use a customer-specified
value.
DVI$_SHDW_MEMBER
Returns a longword, which is interpreted as Boolean. The value 1
indicates that the device is a shadow set member.
DVI$_SHDW_MERGE_COPYING
On Alpha and I64, returns a longword, which is interpreted as Boolean.
The value 1 indicates that the device is a merge member of the shadow
set.
DVI$_SHDW_MINIMERGE_ENABLE
On Alpha and I64, returns a longword, which is interpreted as Boolean.
The value 1 indicates that the virtual unit will undergo a mini-merge
and not a full merge, if a system in the cluster crashes.
DVI$_SHDW_NEXT_MBR_NAME
Returns the device name of the next member in the shadow set. If you
specify a virtual unit with the chan or
devnam argument, DVI$_SHDW_NEXT_MBR_NAME returns the
device name of a member of a shadow set. If you specify the name of a
shadow set member unit with the chan or
devnam argument, DVI$_SHDW_NEXT_MBR_NAME returns the
name of the next member unit or a null string if there are no more
members.
To determine all the members of a shadow set, first specify the virtual
unit (DSAnnnn:) to $GETDVI. Then, on subsequent calls, specify the
member name returned by the previous $GETDVI call until it returns a
null member name.
When the shadow set members have a nonzero allocation class, the device
name returned by $GETDVI contains the allocation class; the name has
the form $allocation-class$device. For example, if a shadow
set has an allocation class of 255 and the device name is DUA42,
$GETDVI returns the string $255$DUA42.
Note
Shadow set members must have a nonzero allocation class to operate in
an OpenVMS Cluster system. Refer to HP Volume Shadowing for OpenVMS for more information.
|
Because a device name can include up to 64 characters, the buffer
length field of the item descriptor should specify 64 (bytes).
DVI$_SHDW_READ_SOURCE
On Alpha and I64, returns the name of the member unit that is used for
reads, at this point in time, as a longword. DVI$_SHDW_READ_SOURCE uses
the unit that has the lowest value of the sum of its queue length and
read cost for reads. This is a dynamic value.
DVI$_SHDW_TIMEOUT
On Alpha and I64, returns the customer-specified timeout value set for
the device, as a long word.
If you do not set a value using the SETSHOWSHADOW utility, the SYSGEN
parameter SHADOW_MBR_TWO is used for member units and MVTIMEOUT is used
for virtual units.
DVI$_STS
Returns the device unit status as a 4-byte bit vector. Each bit in the
vector, when set, corresponds to a symbolic name that is defined by the
$UCBDEF macro. The following table describes each name:
| Symbol |
Description |
|
UCB$V_ALTBSY
|
Unit is busy via alternate startio path.
|
|
UCB$V_BSY
|
Unit is busy.
|
|
UCB$V_CANCEL
|
I/O on unit is canceled.
|
|
UCB$V_CLUTRAN
|
OpenVMS Cluster state transition in progress.
|
|
UCB$V_DEADMO
|
Deallocate at dismount.
|
|
UCB$V_DELETEUCB
|
Delete this UCB when reference count equals 0.
|
|
UCB$V_DISMOUNT
|
Dismount in progress.
|
|
UCB$V_ERLOGIP
|
Error log is in progress on unit.
|
|
UCB$V_EXFUNC_SUPP
|
Unit supports the EXFUNC bit.
|
|
UCB$V_FAST_PATH
|
Unit supports FAST PATH Affinity.
|
|
UCB$V_FP_HWINT
|
Unit supports FAST PATH hardware interrupt CPU Affinity.
|
|
UCB$V_INT
|
Interrupt is expected.
|
|
UCB$V_INTTYPE
|
Receiver interrupt.
|
|
UCB$V_IOPOST_LOCAL
|
Unit supports I/O post processing on the current CPU.
|
|
UCB$V_LCL_VALID
|
Volume is valid on the local node.
|
|
UCB$V_MNTVERIP
|
Mount verification is in progress.
|
|
UCB$V_MOUNTING
|
Device is being mounted.
|
|
UCB$V_MNTVERPND
|
Mount verification is pending on busy device.
|
|
UCB$V_NO_ASSIGN
|
Unit cannot have channels assigned to it.
|
|
UCB$V_ONLINE
|
Unit is on line.
|
|
UCB$V_PATHVERIP
|
Path verification is in progress for this device.
|
|
UCB$V_POWER
|
Power failed while unit busy.
|
|
UCB$V_SNAPSHOT
|
Restart validation is in progress.
|
|
UCB$V_SUPMVMSG
|
If set, suppress success type mount version messages.
|
|
UCB$V_SVPN_END
|
Last byte used from page mapped by system virtual page number (SVPN).
|
|
UCB$V_TEMPLATE
|
Template UCB from which other UCBs for this device type are made.
|
|
UCB$V_TIM
|
Timeout is enabled.
|
|
UCB$V_TIMOUT
|
Unit timed out.
|
|
UCB$V_UNLOAD
|
Unload volume at dismount.
|
|
UCB$V_VALID
|
Volume is software valid.
|
|
UCB$V_WRONGVOL
|
Wrong volume detected during mount verification.
|
|
UCB$V_WRTLOCKMV
|
Write-locked mount verification in progress.
|
DVI$_TOTAL_PATH_COUNT
On Alpha and I64, returns as an unsigned longword the number of paths
for a multipath-capable device.
DVI$_TRACKS
Returns the number of tracks per cylinder as an unsigned integer
longword. This item code is applicable only to disks.
DVI$_TRANSCNT
Returns the transaction count for the volume as an unsigned integer
longword.
DVI$_QLEN
On Alpha and I64, returns the queue length for the device, as a long
word. Note that this value is the number of I/O requests already in the
driver and not the depth of the I/O pending queue.
DVI$_TT_ACCPORNAM
Returns the name of the remote access port associated with a channel
number or with a physical or virtual terminal device number. If you
specify a device that is not a remote terminal or a remote type that
does not support this feature, $GETDVI returns a null string. The
$GETDVI service returns the access port name as a 64-byte, zero-filled
string.
The $GETDVI service returns the name in the format of the remote
system. If the remote system is a LAT terminal server, $GETDVI returns
the name as server_name/port_name. The names are separated by
the slash (/) character. If the remote system is an X.29 terminal, the
name is returned as network.remote_DTE.
When writing applications, you should use the string returned by
DVI$_ACCPORNAM, instead of the physical device name, to identify remote
terminals.
DVI$_TT_CHARSET
Returns, as a 4-byte bit vector, the character sets supported by the
terminal. Each bit in the vector, when set, corresponds to the name of
a coded character set. The $TTCDEF macro defines the following coded
character sets:
| Symbol |
Description |
|
TTC$V_HANGUL
|
DEC Korean
|
|
TTC$V_HANYU
|
DEC Hanyu
|
|
TTC$V_HANZI
|
DEC Hanzi
|
|
TTC$V_KANA
|
DEC Kana
|
|
TTC$V_KANJI
|
DEC Kanji
|
|
TTC$V_THAI
|
DEC Thai
|
DVI$_TT_CS_HANGUL
Returns a longword, which is interpreted as Boolean. A value of 1
indicates that the device supports the DEC Korean coded character set;
a value of 0 indicates that the device does not support the DEC Korean
coded character set.
DVI$_TT_CS_HANYU
Returns a longword, which is interpreted as Boolean. A value of 1
indicates that the device supports the DEC Hanyu coded character set; a
value of 0 indicates that the device does not support the DEC Hanyu
coded character set.
DVI$_TT_CS_HANZI
Returns a longword, which is interpreted as Boolean. A value of 1
indicates that the device supports the DEC Hanzi coded character set; a
value of 0 indicates that the device does not support the DEC Hanzi
coded character set.
DVI$_TT_CS_KANA
Returns a longword, which is interpreted as Boolean. A value of 1
indicates that the device supports the DEC Kana coded character set; a
value of 0 indicates that the device does not support the DEC Kana
coded character set.
DVI$_TT_CS_KANJI
Returns a longword, which is interpreted as Boolean. A value of 1
indicates that the device supports the DEC Kanji coded character set; a
value of 0 indicates that the device does not support the DEC Kanji
coded character set.
DVI$_TT_CS_THAI
Returns a longword, which is interpreted as Boolean. A value of 1
indicates that the device supports the DEC Thai coded character set; a
value of 0 indicates that the device does not support the DEC Thai
coded character set.
DVI$_TT_PHYDEVNAM
Returns a string containing the physical device name of a terminal. If
the caller specifies a disconnected virtual terminal or a device that
is not a terminal, $GETDVI returns a null string. $GETDVI returns the
physical device name as a 64-byte, zero-filled string.
DVI$_UNIT
Returns the unit number as an unsigned longword.
DVI$_VOLCHAR
On Alpha and I64 systems, returns a 128-bit string (16 bytes) that
represents the volume characteristics or capabilities of the mounted
device. If a bit is set, the volume is capable of performing the
function.
DVI$_VOLCOUNT
Returns the number of volumes in the volume set as an unsigned
longword. This item code is applicable only to disks.
DVI$_VOLNAM
Returns the volume name as a 12-byte, zero-filled string.
DVI$_VOLNUMBER
Returns the volume number of this volume in the volume set as an
unsigned integer longword. This item code is applicable only to disks.
DVI$_VOLSETMEM
Returns a longword, which is interpreted as Boolean. A value of 1
indicates that the device is part of a volume set; a value of 0
indicates that it is not. This item code is applicable only to disks.
DVI$_VOLSIZE
On Alpha and I64, returns the volume's current logical volume size.
DVI$_VOLUME_EXTEND_QUANTITY
On Alpha and I64, returns as an unsigned longword the number of blocks
to be used as the default extension size for all files on the volume.
DVI$_VOLUME_MOUNT_GROUP
On Alpha and I64, returns an unsigned longword, interpreted as Boolean.
A value of 1 indicates the volume is mounted /GROUP.
DVI$_VOLUME_MOUNT_SYS
On Alpha and I64, returns an unsigned longword, interpreted as Boolean.
A value of 1 indicates the volume is mounted /SYSTEM.
DVI$_VPROT
Returns the volume protection mask as a standard 4-byte protection mask.
DVI$_TT_xxxx
DVI$_TT_xxxx is the format for a series of item codes that return
information about terminals. This information consists of terminal
characteristics. The xxxx portion of the item code name
specifies a single terminal characteristic.
Each of these item codes requires that the buffer specify a longword
into which $GETDVI will write a 0 or 1: 0 if the terminal does not have
the specified characteristic, and 1 if the terminal does have it. The
one exception is the DVI$_TT_PAGE item code, which when specified
causes $GETDVI to return a decimal longword value that is the page size
of the terminal.
You can also obtain this terminal-specific information by using the
DVI$_DEVDEPEND and DVI$_DEVDEPEND2 item codes. Each of these two item
codes specifies a longword bit vector wherein each bit corresponds to a
terminal characteristic; $GETDVI sets the corresponding bit for each
characteristic possessed by the terminal.
Following is a list of the item codes that return information about
terminal characteristics. For information about these characteristics,
refer to the description of the F$GETDVI lexical function in the
HP OpenVMS DCL Dictionary.
|
DVI$_TT_NOECHO
|
DVI$_TT_NOTYPEAHD
|
|
DVI$_TT_HOSTSYNC
|
DVI$_TT_TTSYNC
|
|
DVI$_TT_ESCAPE
|
DVI$_TT_LOWER
|
|
DVI$_TT_MECHTAB
|
DVI$_TT_WRAP
|
|
DVI$_TT_LFFILL
|
DVI$_TT_SCOPE
|
|
DVI$_TT_CRFILL
|
DVI$_TT_SETSPEED
|
|
DVI$_TT_EIGHTBIT
|
DVI$_TT_MBXDSABL
|
|
DVI$_TT_READSYNC
|
DVI$_TT_MECHFORM
|
|
DVI$_TT_NOBRDCST
|
DVI$_TT_HALFDUP
|
|
DVI$_TT_MODEM
|
DVI$_TT_OPER
|
|
DVI$_TT_LOCALECHO
|
DVI$_TT_AUTOBAUD
|
|
DVI$_TT_PAGE
|
DVI$_TT_HANGUP
|
|
DVI$_TT_MODHANGUP
|
DVI$_TT_BRDCSTMBX
|
|
DVI$_TT_DMA
|
DVI$_TT_ALTYPEAHD
|
|
DVI$_TT_ANSICRT
|
DVI$_TT_REGIS
|
|
DVI$_TT_AVO
|
DVI$_TT_EDIT
|
|
DVI$_TT_BLOCK
|
DVI$_TT_DECCRT
|
|
DVI$_TT_EDITING
|
DVI$_TT_INSERT
|
|
DVI$_TT_DIALUP
|
DVI$_TT_SECURE
|
|
DVI$_TT_FALLBACK
|
DVI$_TT_DISCONNECT
|
|
DVI$_TT_PASTHRU
|
DVI$_TT_SIXEL
|
|
DVI$_TT_PRINTER
|
DVI$_TT_APP_KEYPAD
|
|
DVI$_TT_DRCS
|
DVI$_TT_SYSPWD
|
|
DVI$_TT_DECCRT2
|
|
|
DVI$_TT_DECCRT3
|
|
|
DVI$_TT_DECCRT4
|
|
DVI$_WRITETHRU_CACHE_ENABLED
On Alpha and I64, returns an unsigned longword, which is interpreted as
Boolean. A value of 1 indicates the volume is mounted with
write-through caching enabled.
DVI$_WWID
On Alpha and I64, returns the World Wide Identifier (WWID) of Fibre
Channel Disk and Tape devices as a zero-filled string of indeterminate
length.
The maximum length of this string may change with new devices;
therefore, HP recommends that a 380-byte buffer be passed to this
function.
A return length address should also be passed with the call and
examined when the function completes. If the return length is equal to
the size of the buffer, then call $GETDVI again with a larger buffer to
ensure that the complete name has been read.
DVI$_yyyy
DVI$_yyyy is the format for a series of item codes that return
device-independent characteristics of a device. There is an item code
for each device characteristic returned in the longword bit vector
specified by the DVI$_DEVCHAR item code.
In the description of the DVI$_DEVCHAR item code is a list of symbol
names in which each symbol represents a device characteristic. To
construct the $GETDVI item code for each device characteristic,
substitute for yyyy that portion of the symbol name that
follows the underscore character. For example, the DVI$_REC item code
returns the same information as the DEV$V_REC bit in the DVI$_DEVCHAR
longword bit vector.
The buffer for each of these item codes must specify a longword value,
which is interpreted as Boolean. The $GETDVI service writes the value 1
into the longword if the device has the specified characteristic and
the value 0 if it does not.
Description
The Get Device/Volume Information service returns primary and secondary
device characteristics information about an I/O device. You can use the
chan argument only if (1) the channel has already been
assigned, and (2) the caller's access mode is equal to or more
privileged than the access mode from which the original channel
assignment was made.
The caller of $GETDVI does not need to have a channel assigned to the
device about which information is desired.
The $GETDVI service returns information about both primary device
characteristics and secondary device characteristics. By default,
$GETDVI returns information about the primary device characteristics
only.
To obtain information about secondary device characteristics, you must
perform a logical OR operation on the item code specifying the
information desired with the code DVI$C_SECONDARY.
You can obtain information about primary and secondary devices in a
single call to $GETDVI.
In most cases, the two sets of characteristics (primary and secondary)
returned by $GETDVI are identical. However, the two sets provide
different information in the following cases:
- If the device has an associated mailbox, the primary
characteristics are those of the assigned device and the secondary
characteristics are those of the associated mailbox.
- If the device is a spooled device, the primary characteristics are
those of the intermediate device (such as the disk) and the secondary
characteristics are those of the spooled device (such as the printer).
- If the device represents a logical link on the network, the
secondary characteristics contain information about the link.
Unless otherwise stated in the description of the item code, $GETDVI
returns information about the local node only.
Required Access or Privileges
None
Required Quota
Sufficient AST quota.
Related Services
$ALLOC, $ASSIGN, $BRKTHRU, $BRKTHRUW, $CANCEL, $CREMBX, $DALLOC,
$DASSGN, $DELMBX, $DEVICE_PATH_SCAN, $DEVICE_SCAN, $DISMOU, $GETDVIW,
$GETMSG, $GETQUI, $GETQUIW, $INIT_VOL, $IO_FASTPATH, $MOUNT, $PUTMSG,
$QIO, $QIOW, $SNDERR, $SNDJBC, $SNDJBCW, $SNDOPR
Condition Values Returned
|
SS$_NORMAL
|
The service completed successfully.
|
|
SS$_ACCVIO
|
The device name string descriptor, device name string, or
itmlst argument cannot be read; or the buffer or
return length longword cannot be written by the caller.
|
|
SS$_BADPARAM
|
The item list contains an invalid item code, or the buffer address
field in an item descriptor specifies less than four bytes for the
return length information.
|
|
SS$_EXASTLM
|
The process has exceeded its AST limit quota.
|
|
SS$_IVCHAN
|
You specified an invalid channel number, that is, a channel number
larger than the number of channels.
|
|
SS$_IVDEVNAM
|
The device name string contains invalid characters, or neither the
devnam nor
chan argument was specified.
|
|
SS$_IVLOGNAM
|
The device name string has a length of 0 or has more than 63 characters.
|
|
SS$_NONLOCAL
|
The device is on a remote system.
|
|
SS$_NOPRIV
|
The specified channel is not assigned or was assigned from a more
privileged access mode.
|
|
SS$_NOSUCHDEV
|
The specified device does not exist on the host system.
|
|
SS$_NOSUCHPATH
|
On Alpha and I64, the specified path does not exist for the device,
even though the device itself does exist.
|
Condition Values Returned in the I/O Status Block
1
Same as those returned in R0.