HP OpenVMS Systems

ask the wizard
Content starts here

Getting device names via $getdvi?

» close window

The Question is:

I read the wiz_4064 about $getdvi DEVCLASS and DEVTYPE codes... My question is
 when you search the $DCDEF and have multiple returns, how do you distinguish
 the correct one.  Is there a more generic way to do this in C with the system
 service calls?
I did f$getdvi("EWA0:","DEVTYPE") which returned 68.
The search returns
$EQU DT$_RZ57I 68
$EQU DT$_TZ875 68
$EQU DT$_DZ730 68
$EQU DT$_EW_DE435 68
Show Device obviously knows since I get :
$ show device/full ewa0:
Device EWA0:, device type DE435, is online, network device, device is a template
    Error count                    0    Operations completed                  0
    Owner process                 ""    Owner UIC                      [SYSTEM]
    Owner process ID        00000000    Dev Prot              S:RWPL,O:RWPL,G,W
    Reference count                0    Default buffer size                 512

The Answer is :

  Device type and device class operate in conjunction, with the type
  codes being specific to a class.  These codes are typically valid
  only for older devices and for devices that have required explicit
  OpenVMS changes for support.
  That said, identification of the device should typically be
  made via DCL such as:
$ x=f$getdvi("sys$sysdevice","DEVICE_TYPE_NAME")
$ sho sym x
  X = "RZ29B"
$ x=f$getdvi("EWA0","DEVICE_TYPE_NAME")
$ sho sym x
  X = "DE435"
  Or via the associated sys$getdvi and sys$getdviw system services.

answer written or last revised on ( 18-MAY-2000 )

» close window