If you specify astadr, the AST routine executes at the same access mode as the caller of the $GETDVI service.
OpenVMS usage: | user_arg |
type: | longword (unsigned) |
access: | read only |
mechanism: | by value |
OpenVMS usage: | null_arg |
type: | quadword (unsigned) |
access: | read only |
mechanism: | by reference |
DVI$_ACPPID
When you specify DVI$_ACPPID, $GETDVI returns the ACP process ID as a 4-byte hexadecimal number.DVI$_ACPTYPE
When you specify DVI$_ACPTYPE, $GETDVI returns the ACP type code as a 4-byte hexadecimal number. The following symbols define each of the ACP type codes that $GETDVI can return.
Symbol Description DVI$C_ACP_F11V1 Files-11 Level 1 DVI$C_ACP_F11V2 Files-11 Level 2 DVI$C_ACP_MTA Magnetic tape DVI$C_ACP_NET Networks DVI$C_ACP_REM Remote I/O DVI$_ALLDEVNAM
When you specify DVI$_ALLDEVNAM, $GETDVI returns the allocation-class device name, which is a 64-byte hexadecimal string. The allocation-class device name uniquely identifies each device that is currently connected to any node in an OpenVMS Cluster system or to a single-node system. This item code generates a single unique name for a device even if the device is dual ported.One use for the allocation-class device name might be in an application wherein processes need to coordinate their access to devices (not volumes) using the lock manager. In this case, the program would make the device a resource to be locked by the lock manager, specifying as the resource name the following concatenated components: (1) a user facility prefix followed by an underscore character and (2) the allocation-class device name of the device.
Note that the name returned by the DVI$_DEVLOCKNAM item code should be used to coordinate access to volumes.
DVI$_ALLOCLASS
When you specify DVI$_ALLOCLASS, $GETDVI returns the allocation class of the host as a longword integer between 0 and 32767. An allocation class is a unique number between 0 and 32767 that the system manager assigns to a pair of hosts and the dual-pathed devices that the hosts make available to other nodes in the cluster.The allocation class provides a way for you to access dual-pathed devices through either of the hosts that act as servers to the cluster. In this way, if one host of an allocation class set is not available, you can gain access to a device specified by that allocation class through the other host of the allocation class. You do not have to be concerned about which host of the allocation class provides access to the device. Specifically, the device name string has the following format:
$allocation_class$device_nameFor a detailed discussion of allocation classes, refer to OpenVMS Cluster Systems.
DVI$_ALT_HOST_AVAIL
When you specify DVI$_ALT_HOST_AVAIL, $GETDVI returns a longword that is interpreted as Boolean. A value of 1 indicates that the host serving the alternate path is available; a value of 0 indicates that it is not available.The host is the node that makes the device available to other nodes in the OpenVMS Cluster system. A host node can be either a VAX system with an MSCP server or an HSC50 controller.
A dual-pathed device is one that is made available to the cluster by two hosts. Each of the hosts provides access (serves a path) to the device for users. One host serves the primary path; the other host serves the alternate path. The primary path is the path that the system creates through the first available host.
You should not be concerned with which host provides access to the device. When accessing a device, you specify the allocation class of the desired device, not the name of the host that serves it.
If the host serving the primary path fails, the system automatically creates a path to the device through the alternate host.
DVI$_ALT_HOST_NAME
When you specify DVI$_ALT_HOST_NAME, $GETDVI returns the name of the host serving the alternate path as a 64-byte zero-filled string.For more information about hosts, dual-pathed devices, and primary and alternate paths, refer to the description of the DVI$_ALT_HOST_AVAIL item code.
DVI$_ALT_HOST_TYPE
When you specify DVI$_ALT_HOST_TYPE, $GETDVI returns, as a 4-byte string, the hardware type of the host serving the alternate path. Each hardware type has a symbolic name.The following table shows each symbolic name and the host it denotes on VAX systems.
Name Host VAX Any VAX family processor HS50 HSC50 HS70 HSC70 The following table shows each symbolic name and the host it denotes on Alpha systems.
Name Host Alpha Any Alpha family processor HS50 HSC50 HS70 HSC70 For more information about hosts, dual-pathed devices, and primary and alternate paths, refer to the description of the DVI$_ALT_HOST_AVAIL item code.
DVI$_CLUSTER
When you specify DVI$_CLUSTER, $GETDVI returns the volume cluster size as a 4-byte decimal number. This item code is applicable only to disks.DVI$_CYLINDERS
When you specify DVI$_CYLINDERS, $GETDVI returns the number of cylinders on the volume as a 4-byte decimal number. This item code is applicable only to disks.DVI$_DEVBUFSIZ
When you specify DVI$_DEVBUFSIZ, $GETDVI returns the device buffer size (for example, the width of a terminal or the block size of a tape) as a 4-byte decimal number.DVI$_DEVCHAR
When you specify DVI$_DEVCHAR, $GETDVI returns device-independent characteristics as a 4-byte bit vector. Each characteristic is represented by a bit. When $GETDVI sets a bit, the device has the corresponding characteristic. Each bit in the vector has a symbolic name. The $DEVDEF macro defines the following symbolic names.
Symbol Description DEV$V_REC Device is record oriented. DEV$V_CCL Device is a carriage control device. DEV$V_TRM Device is a terminal. DEV$V_DIR Device is directory structured. DEV$V_SDI Device is single-directory structured. DEV$V_SQD Device is sequential and block oriented. DEV$V_SPL Device is being spooled. DEV$V_OPR Device is an operator. DEV$V_RCT Disk contains Revector Cache Table (RCT). This bit is set for every DAA disk. DEV$V_NET Device is a network device. DEV$V_FOD Device is files oriented. DEV$V_DUA Device is dual ported. DEV$V_SHR Device is shareable. DEV$V_GEN Device is a generic device. DEV$V_AVL Device is available for use. DEV$V_MNT Device is mounted. DEV$V_MBX Device is a mailbox. DEV$V_DMT Device is marked for dismount. DEV$V_ELG Device has error logging enabled. DEV$V_ALL Device is allocated. DEV$V_FOR Device is mounted foreign. DEV$V_SWL Device is software write locked. DEV$V_IDV Device can provide input. DEV$V_ODV Device can provide output. DEV$V_RND Device allows random access. DEV$V_RTM Device is a real-time device. DEV$V_RCK Device has read-checking enabled. DEV$V_WCK Device has write-checking enabled. Note that each device characteristic has its own individual $GETDVI item code with the format DVI$_xxxx, where xxxx are the characters following the underscore character in the symbolic name for that device characteristic.
For example, when you specify the item code DVI$_REC, $GETDVI returns a longword value that is interpreted as Boolean. If the value is 0, the device is not record oriented; if the value is 1, it is record oriented. This information is identical to that returned in the DEV$V_REC bit of the longword vector specified by the DVI$_DEVCHAR item code.
The buffer must specify a longword for all of these device-characteristic item codes.
DVI$_DEVCHAR2
When you specify DVI$_DEVCHAR2, $GETDVI returns additional device-independent characteristics as a 4-byte bit vector. Each bit in the vector, when set, corresponds to a symbolic name. The $DEVDEF macro defines the following symbolic names.
Symbol Description DEV$V_CLU Device is available clusterwide. DEV$V_DET Device is detached terminal. DEV$V_RTT Device has remote terminal UCB extension. DEV$V_CDP Dual-pathed device with two UCBs. DEV$V_2P Two paths are known to this device. DEV$V_MSCP Device accessed using MSCP (disk or tape). Before using this bit to differentiate between types of disk and tape devices, be sure that no other more appropriate differentiation mechanism exists. DEV$V_SSM Device is a shadow set member. DEV$V_SRV Device is served by the MSCP server. DEV$V_RED Device is redirected terminal. DEV$V_NNM Device has node$ prefix. DEV$V_WBC Device supports write-back caching. DEV$V_WTC Device supports write-through caching. DEV$V_HOC Device supports host caching. DEV$V_LOC Device accessible by local (non-emulated) controller. DEV$V_DFS Device is DFS-served. DEV$V_DAP Device is DAP accessed. DEV$V_NLT Device is not-last-track; that is, it has no bad block. Information is on its last track. DEV$V_SEX Device (tape) supports serious exception handling. DEV$V_SHD Device is a member of a host-based shadow set. DEV$V_VRT Device is a shadow set virtual unit. DEV$V_LDR Loader present (tapes). DEV$V_NOLB Device ignores server load balancing requests. DEV$V_NOCLU Device will never be available clusterwide. DEV$V_VMEM Virtual member of a constituent set. DEV$V_SCSI Device is an SCSI device. DEV$V_WLG Device has write-logging capability. DEV$V_NOFE Device does not support forced error. DVI$_DEVCLASS
When you specify DVI$_DEVCLASS, $GETDVI returns the device class as a 4-byte decimal number. Each class has a corresponding symbol. The $DCDEF macro defines these symbols. The following table describes each device class symbol.
Symbol Description DC$_DISK Disk device DC$_TAPE Tape device DC$_SCOM Synchronous communications device DC$_CARD Card reader DC$_TERM Terminal DC$_LP Line printer DC$_REALTIME Real-time DC$_MAILBOX Mailbox DC$_MISC Miscellaneous device DVI$_DEVDEPEND
When you specify DVI$_DEVDEPEND, $GETDVI returns device-dependent characteristics as a 4-byte bit vector. To determine what information is returned for a particular device, refer to the OpenVMS I/O User's Reference Manual.Note that, for terminals only, individual $GETDVI item codes are provided for most of the informational items returned in the DVI$_DEVDEPEND longword bit vector. The names of these item codes have the format DVI$_TT_xxxx, where xxxx is the characteristic name. The same characteristic name follows the underscore character in the symbolic name for each bit (defined by the $TTDEF macro) in the DVI$_DEVDEPEND longword. For example, the DVI$_TT_NOECHO item code returns the same information as that returned in the DVI$_DEVDEPEND bit whose symbolic name is TT$V_NOECHO.
Each such item code requires that the buffer specify a longword value, which is interpreted as Boolean. A value of 0 indicates that the terminal does not have that characteristic; a value of 1 indicates that it does.
The list of these terminal-specific item codes follows this list of item codes.
DVI$_DEVDEPEND2
When you specify DVI$_DEVDEPEND2, $GETDVI returns additional device-dependent characteristics as a 4-byte bit vector. Refer to the OpenVMS I/O User's Reference Manual to determine what information is returned for a particular device.Note that, for terminals only, individual $GETDVI item codes are provided for most of the informational items returned in the DVI$_DEVDEPEND2 longword bit vector. As with DVI$_DEVDEPEND, the same characteristic name appears in the item code as appears in the symbolic name defined for each bit in the DVI$_DEVDEPEND2 longword, except that in the case of DVI$_DEVDEPEND2, the symbolic names for bits are defined by the $TT2DEF macro.
The list of these terminal-specific item codes follows this list of item codes.
DVI$_DEVICE_TYPE_NAME
On Alpha systems, when you specify DVI$_DEVICE_TYPE_NAME, $GETDVI returns a string identifying the type of the device about which information was requested.DVI$_DEVLOCKNAM
When you specify DVI$_DEVLOCKNAM, $GETDVI returns the device lock name, which is a 64-byte hexadecimal string. The device lock name uniquely identifies each volume or volume set in an OpenVMS Cluster system or in a single-node system. This item code is applicable only to disks.The item code is applicable to all disk volumes and volume sets: mounted, not mounted, mounted shared, mounted private, or mounted foreign.
The device lock name is assigned to a volume when it is first mounted, and you cannot change this name, even if the volume name itself is changed. This allows any process on any node in an OpenVMS Cluster system to access a uniquely identified volume.
One use for the device lock name might be in an application wherein processes need to coordinate their access to files using the lock manager. In this case, the program would make the file a resource to be locked by the lock manager, specifying as the resource name the following concatenated components: (1) a user facility prefix followed by an underscore character, (2) the device lock name of the volume on which the file resides, and (3) the file ID of the file.
DVI$_DEVNAM
When you specify DVI$_DEVNAM, $GETDVI returns the device name as a 64-byte, zero-filled string. The node name is also returned.DVI$_DEVSTS
When you specify DVI$_DEVSTS, $GETDVI returns device-dependent status information as a 4-byte bit vector. The $UCBDEF macro defines symbols for the status bits. For this device-dependent information, refer to the OpenVMS I/O User's Reference Manual.DVI$_DEVTYPE
When you specify DVI$_DEVTYPE, $GETDVI returns the device type as a 4-byte decimal number. The $TTDEF macro defines symbols for the device types.DVI$_DFS_ACCESS
When you specify DVI$_DFS_ACCESS, $GETDVI returns a Boolean value indicating whether a device is a DFS served disk. A value of 0 indicates that the device is a DFS served disk; a value of 1 indicates that the device is not.This information allows you to determine if a function works on remote disk devices with DFS. Access control lists (ACLs), for example, cannot be set or displayed on local disk devices with DFS.
DVI$_DISPLAY_DEVNAM
When you specify DVI$_DISPLAY_DEVNAM, $GETDVI returns the preferred device name for user displays as a 256-byte zero-filled string. The DVI$_DISPLAY_DEVNAM item code is not recommended for use with the $ASSIGN service. Use the DVI$_ALLDEVNAM item code to return an allocation class device name that is usable as input to a program.DVI$_ERRCNT
When you specify DVI$_ERRCNT, $GETDVI returns the device's error count as a 4-byte decimal number.DVI$_FREEBLOCKS
When you specify DVI$_FREEBLOCKS, $GETDVI returns the number of free blocks on a disk as a 4-byte decimal number. This item code is applicable only to disks.DVI$_FULLDEVNAM
When you specify DVI$_FULLDEVNAM, $GETDVI returns the node name and device name as a 64-byte, zero-filled string.The DVI$_FULLDEVNAM item code is useful in an OpenVMS Cluster environment because, unlike DVI$_DEVNAM, DVI$_FULLDEVNAM returns the name of the node on which the device resides.
One use for the DVI$_FULLDEVNAM item code might be to retrieve the name of a device in order to have that name displayed on a terminal. However, you should not use this name as a resource name as input to the lock manager; use the name returned by the DVI$_DEVLOCKNAM item code for locking volumes and the name returned by DVI$_ALLDEVNAM for locking devices.
DVI$_HOST_AVAIL
When you specify DVI$_HOST_AVAIL, $GETDVI returns a longword, which is interpreted as Boolean. A value of 1 indicates that the host serving the primary path is available; a value of 0 indicates that it is not available.For more information about hosts, dual-pathed devices, and primary and alternate paths, refer to the description of the DVI$_ALT_HOST_AVAIL item code.
DVI$_HOST_COUNT
When you specify DVI$_HOST_COUNT, $GETDVI returns, as a longword integer, the number of hosts that make the device available to other nodes in the OpenVMS Cluster system. One or two hosts, but no more, can make a device available to other nodes in the cluster.For more information about hosts, dual-pathed devices, and primary and alternate paths, refer to the description of the DVI$_ALT_HOST_AVAIL item code.
DVI$_HOST_NAME
When you specify DVI$_HOST_NAME, $GETDVI returns the name of the host serving the primary path as a 64-byte, zero-filled string.For more information about hosts, dual-pathed devices, and primary and alternate paths, refer to the description of the DVI$_ALT_HOST_AVAIL item code.
DVI$_HOST_TYPE
When you specify DVI$_HOST_TYPE, $GETDVI returns, as a 4-byte string, the type of host serving the primary path. Each hardware type has a symbolic name.The following table shows each symbolic name and the host it denotes on VAX systems.
Name Host VAX Any VAX family processor HS50 HSC50 HS70 HSC70 The following table shows each symbolic name and the host it denotes on Alpha systems.
Name Host Alpha Any Alpha family processor HS50 HSC50 HS70 HSC70 For more information about hosts, dual-pathed devices, and primary and alternate paths, refer to the description of the DVI$_ALT_HOST_AVAIL item code.
DVI$_LOCKID
When you specify DVI$_LOCKID, $GETDVI returns the lock ID of the lock on a disk. The lock manager locks a disk if it is available to all nodes in an OpenVMS Cluster system and it is either allocated or mounted. A disk is available to all nodes in an OpenVMS Cluster system if, for example, it is served by an HSC controller or MSCP server or if it is a dual-ported MASSBUS disk.The buffer must specify a longword into which $GETDVI is to return the 4-byte hexadecimal lock ID.
DVI$_LOGVOLNAM
When you specify DVI$_LOGVOLNAM, $GETDVI returns the logical name of the volume or volume set as a 64-byte string.DVI$_MAXBLOCK
When you specify DVI$_MAXBLOCK, $GETDVI returns the maximum number of blocks on the volume as a 4-byte decimal number. This item code is applicable only to disks.DVI$_MAXFILES
When you specify DVI$_MAXFILES, $GETDVI returns the maximum number of files on the volume as a 4-byte decimal number. This item code is applicable only to disks.DVI$_MEDIA_ID
When you specify DVI$_MEDIA_ID, $GETDVI returns the nondecoded media ID as a longword. This item code is applicable only to disks and tapes.DVI$_MEDIA_NAME
When you specify DVI$_MEDIA_NAME, $GETDVI returns the name of the volume type (for example, RK07 or TA78) as a 64-byte, zero-filled string. This item code is applicable only to disks and tapes.DVI$_MEDIA_TYPE
When you specify DVI$_MEDIA_TYPE, $GETDVI returns the device name prefix of the volume (for example, DM for an RK07 device or MU for a TA78 device) as a 64-byte, zero-filled string. This item code is applicable only to disks and tapes.DVI$_MOUNTCNT
When you specify DVI$_MOUNTCNT, $GETDVI returns the mount count for the volume as a 4-byte decimal number.DVI$_MSCP_UNIT_NUMBER
When you specify DVI$_MSCP_UNIT_NUMBER, $GETDVI returns the internal coded value for MSCP unit numbers as a longword integer. This item code is reserved to Digital.DVI$_NEXTDEVNAM
When you specify DVI$_NEXTDEVNAM, $GETDVI returns the device name of the next volume in the volume set as a 64-byte, zero-filled string. The node name is also returned. This item code is applicable only to disks.DVI$_OPCNT
When you specify DVI$_OPCNT, $GETDVI returns the operation count for the volume as a 4-byte decimal number.DVI$_OWNUIC
When you specify DVI$_OWNUIC, $GETDVI returns the user identification code (UIC) of the owner of the device as a standard 4-byte UIC.DVI$_PID
When you specify DVI$_PID, $GETDVI returns the process identification (PID) of the owner of the device as a 4-byte hexadecimal number.DVI$_RECSIZ
When you specify DVI$_RECSIZ, $GETDVI returns the blocked record size as a 4-byte decimal number.DVI$_REFCNT
When you specify DVI$_REFCNT, $GETDVI returns the number of channels assigned to the device as a 4-byte decimal number.DVI$_REMOTE_DEVICE
When you specify DVI$_REMOTE_DEVICE, $GETDVI 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
When you specify DVI$_ROOTDEVNAM, $GETDVI 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$_SECTORS
When you specify DVI$_SECTORS, $GETDVI returns the number of sectors per track as a 4-byte decimal number. This item code is applicable only to disks.DVI$_SERIALNUM
When you specify DVI$_SERIALNUM, $GETDVI returns the serial number of the volume as a 4-byte decimal number. This item code is applicable only to disks.DVI$_SERVED_DEVICE
When you specify DVI$_SERVED_DEVICE, $GETDVI 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
When you specify DVI$_SHDW_CATCHUP_COPYING, $GETDVI 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_FAILED_MEMBER
When you specify DVI$_SHDW_FAILED_MEMBER, $GETDVI returns a longword, which is interpreted as Boolean. The value 1 indicates that the device is a member that has been removed from the shadow set by the remote server. The DVI$_SHDW_FAILED_MEMBER item code is for use only with VAX Volume Shadowing (phase I).DVI$_SHDW_MASTER
When you specify DVI$_SHDW_MASTER, $GETDVI returns a longword, which is interpreted as Boolean. The value 1 indicates that the device is a virtual unit.DVI$_SHDW_MASTER_NAME
When you specify DVI$_SHOW_MASTER_NAME and the specified device is a shadow set member, $GETDVI returns the device name of the virtual unit 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.
Note
Shadow set members must have a nonzero allocation class to operate in an OpenVMS Cluster system. See 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_MEMBER
When you specify DVI$_SHDW_MEMBER, $GETDVI returns a longword, which is interpreted as Boolean. The value 1 indicates that the device is a shadow set member.DVI$_SHDW_MERGE_COPYING
When you specify DVI$_SHDW_MERGE_COPYING, $GETDVI 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_NEXT_MBR_NAME
When you specify DVI$_SHDW_NEXT_MBR_NAME, $GETDVI returns the device name of the next member in the shadow set. If you specify a virtual unit with the chan or devnam agrument, 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 agrument, DVI$_SHDW_NEXT_MBR_NAME returns the name of the next member unit or a null string if there are no more members.
Previous | Next | Contents | [Home] | [Comments] | [Ordering info] | [Help]
![]()
4527P036.HTM OSSG Documentation 22-NOV-1996 12:59:40.51Copyright © Digital Equipment Corporation 1996. All Rights Reserved.