HELPLIB.HLB  —  Lexicals  F$GETDVI
    Returns a specified item of information for a specified device.

    Format

      F$GETDVI(device-name,item[,pathname])

1  –  Return Value

    Either an integer or a character string, depending on the item
    you request.

2  –  Arguments

 device-name

    Specifies a physical device name or a logical name equated to
    a physical device name. Specify the device name as a character
    string expression.

    After the device-name argument is evaluated, the F$GETDVI
    function examines the first character of the name. If the
    first character is an underscore (_),  the name is considered
    a physical device name; otherwise, a single level of logical name
    translation is performed and the equivalence name, if any, is
    used.

 item

    Specifies the type of device information to be returned. The
    item must be specified as a character string expression. You
    can specify any one of the items listed below. For detailed
    descriptions of each item code, see the VSI OpenVMS DCL
    Dictionary.

    Items marked with a ** are valid for Integrity servers only.

    Items marked with a * are valid for Alpha and Integrity servers
    only.

    Items marked with a + are typically used with the pathname
    argument.

    ACCESSTIMES_RECORDED*            ACPPID                    ACPTYPE
    ALL                              ALLDEVNAM                 ALLOCLASS
    ALT_HOST_AVAIL                   ALT_HOST_NAME             ALT_HOST_TYPE
    AVAILABLE_PATH_COUNT*            AVL                       CCL
    CLUSTER                          CONCEALED                 CYLINDERS
    DEVBUFSIZ                        DEVCHAR                   DEVCHAR2
    DEVCLASS                         DEVDEPEND                 DEVDEPEND2
    DEVICE_MAX_IO_SIZE*              DEVICE_TYPE_NAME          DEVLOCKNAM
    DEVNAM                           DEVSTS                    DEVTYPE
    DFS_ACCESS                       DIR                       DMT
    DUA                              ELG                       ERASE_ON_DELETE*
    ERRCNT+ERROR_RESET_TIME*         EXISTS                    EXPSIZE*
    FC_HBA_FIRMWARE_REV              FC_NODE_NAME              FC_PORT_NAME
    FOD                              FOR                       FREEBLOCKS
    FULLDEVNAM                       GEN                       HARDLINKS_SUPPORTED*
    HOST_AVAIL                       HOST_COUNT                HOST_NAME
    HOST_TYPE                        IDV                       LAN_ALL_MULTICAST_MODE*
    LAN_AUTONEG_ENABLED*             LAN_DEFAULT_MAC_ADDRESS*  LAN_FULL_DUPLEX*
    LAN_JUMBO_FRAMES_ENABLED*        LAN_LINK_STATE_VALID      LAN_LINK_UP*
    LAN_MAC_ADDRESS*                 LAN_PROMISCUOUS_MODE*     LAN_PROTOCOL_NAME*
    LAN_PROTOCOL_TYPE*               LAN_SPEED*                LOCKID
    LOGVOLNAM                        MAILBOX_BUFFER_QUOTA*     MAILBOX_INITIAL_QUOTA*
    MAXBLOCK                         MAXFILES                  MBX
    MEDIA_ID                         MEDIA_NAME                MEDIA_TYPE
    MNT                              MOUNT_TIME*               MOUNTCNT
    MOUNTVER_ELIGIBLE*               MPDEV_AUTO_PATH_SW_CNT*   MPDEV_CURRENT_PATH*
    MPDEV_MAN_PATH_SW_CNT*           MT3_DENSITY               MT3_SUPPORTED
    MULTIPATH*                       MVSUPMSG*                 NET
    NEXTDEVNAM                       NOCACHE_ON_VOLUME*        NOHIGHWATER
    NOSHARE_MOUNTED*                 ODS2_SUBSET0*             ODS5*
    ODV                              OPCNT+                    OPR
    OWNUIC                           PATH_AVAILABLE*+          PATH_NOT_RESPONDING*+
    PATH_POLL_ENABLED*+              PATH_SWITCH_FROM_TIME*+   PATH_SWITCH_TO_TIME*+
    PATH_USER_DISABLED*+             PID                       PREFERRED_CPU
    PREFERRED_CPU_BITMAP*            PROT_SUBSYSTEM_ENABLED*   QLEN*
    RCK                              RCT                       REC
    RECSIZ                           REFCNT                    REMOTE_DEVICE
    RND                              ROOTDEVNAM                RTM
    SCSI_DEVICE_FIRMWARE_REV*        SDI                       SECTORS
    SERIALNUM                        SERVED_DEVICE             SET_HOST_TERMINAL
    SHDW_CATCHUP_COPYING             SHDW_COPIER_NODE*         SHDW_DEVICE_COUNT*
    SHDW_GENERATION*                 SHDW_MASTER               SHDW_MASTER_MBR*
    SHDW_MASTER_NAME                 SHDW_MBR_COPY_DONE*       SHDW_MBR_COUNT*
    SHDW_MBR_MERGE_DONE*             SHDW_MBR_READ_COST*       SHDW_MEMBER
    SHDW_MERGE_COPYING*              SHDW_MINIMERGE_ENABLE*    SHDW_NEXT_MBR_NAME
    SHDW_READ_SOURCE*                SHDW_SITE*                SHDW_TIMEOUT*
    SHR                              SPL                       SPLDEVNAM
    SQD                              SSD_LIFE_REMAINING**      SSD_USAGE_REMAINING**
    STS                              SWL                       TOTAL_PATH_COUNT*
    TRACKS                           TRANSCNT                  TRM
    TT_ACCPORNAM                     TT_ALTYPEAHD              TT_ANSICRT
    TT_APP_KEYPAD                    TT_AUTOBAUD               TT_AVO
    TT_BLOCK                         TT_BRDCSTMBX              TT_CHARSET
    TT_CRFILL                        TT_CS_HANGUL              TT_CS_HANYU
    TT_CS_HANZI                      TT_CS_KANA                TT_CS_KANJI
    TT_CS_THAI                       TT_DECCRT                 TT_DECCRT2
    TT_DECCRT3                       TT_DECCRT4                TT_DIALUP
    TT_DISCONNECT                    TT_DMA                    TT_DRCS
    TT_EDIT                          TT_EDITING                TT_EIGHTBIT
    TT_ESCAPE                        TT_FALLBACK               TT_HALFDUP
    TT_HANGUP                        TT_HOSTSYNC               TT_INSERT
    TT_LFFILL                        TT_LOCALECHO              TT_LOWER
    TT_MBXDSABL                      TT_MECHFORM               TT_MECHTAB
    TT_MODEM                         TT_MODHANGUP              TT_NOBRDCST
    TT_NOECHO                        TT_NOTYPEAHD              TT_OPER
    TT_PAGE                          TT_PASTHRU                TT_PHYDEVNAM
    TT_PRINTER                       TT_READSYNC               TT_REGIS
    TT_REMOTE                        TT_SCOPE                  TT_SECURE
    TT_SETSPEED                      TT_SIXEL                  TT_SYSPWD
    TT_TTSYNC                        TT_WRAP                   UNIT
    VOLCHAR*                         VOLCOUNT                  VOLNAM
    VOLNUMBER                        VOLSETMEM                 VOLSIZE*
    VOLUME_EXTEND_QUANTITY*          VOLUME_MOUNT_GROUP*       VOLUME_MOUNT_SYS*
    VOLUME_PENDING_WRITE_ERR*        VOLUME_RETAIN_MAX*        VOLUME_RETAIN_MIN*
    VOLUME_SPOOLED_DEV_CNT*          VOLUME_WINDOW*            VPROT
    WCK                              WRITETHRU_CACHE_ENABLED*  WWID*

   ** Integrity servers only
    * Alpha and Integrity servers only
    + Used with the pathname argument.

 pathname (Alpha/Integrity servers only)

    Specifies a path name for a multipath-capable device. Specify the
    path name as a character string expression.

    Item codes that use the pathname argument are identified by
    a + in the item code list. In general, item codes that return
    information that can vary by path do use the pathname argument.
    You can see the paths for a multipath device by using the SHOW
    DEVICE /FULL command, the SYS$DEVICE_PATH_SCAN system service, or
    the F$MULTIPATH lexical function.

    If the pathname argument is specified, it is validated against
    the existing paths for the specified device. If the path does not
    exist, the NOSUCHPATH error is returned - even if the specified
    item code does not make use of the pathname argument.

3  –  Examples

    1.$  ERR = F$GETDVI("_DQA0","ERRCNT")
      $ SHOW SYMBOL ERR
        ERR = 0  Hex = 00000000 Octal = 000000

      This example shows how to use the F$GETDVI function to return
      an error count for the device DQA0. You must place quotation
      marks (" ")  around the device name DQA0 and the item ERRCNT
      because they are string literals.

    2.$  LIBRARY/EXTRACT=$DCDEF/OUTPUT=$DCDEF.TXT SYS$LIBRARY:STARLET.MLB

      This example shows how to create a file, $DCDEF.TXT, containing
      a list of values for device types and device classes from
      the STARLET library. The device classes begin with 'DC$', and
      device types begin with 'DT$'.

      Note that most modern SCSI disks and tapes return the generic
      DEVTYPE code (DT$_GENERIC_DK or DT$_GENERIC_MK), therefore you
      should use the DEVICE_TYPE_NAME item:

        $ X=F$GETDVI("XDELTA$DKA0:","DEVICE_TYPE_NAME")
        $ SHOW SYMBOL X
          X = "RZ29B"

    3.$  WRITE SYS$OUTPUT F$GETDVI ( "$1$DGA30", "PATH_SWITCH_TO_TIME", -
      _$  "PGA0.5000-1FE1-0001=5782" )
      19-MAY-2006 14:47:41.77

      This example shows the use of the optional path name parameter
      for F$GETDVI. If a path is not specified, information for the
      multipath current path is returned. To determine the paths for
      a multipath device, use the F$MULTIPATH lexical function.

    4.$ SSD_USAGE_REMAINING = F$GETDVI("DKA100:","SSD_USAGE_REMAINING")
      $ SHOW SYMBOL SSD_USAGE_REMAINING
        SSD_USAGE_REMAINING = 100   Hex = 00000064  Octal = 00000000144
      $ SSD_LIFE_REMAINING = F$GETDVI("DKA100:","SSD_LIFE_REMAINING")
      $ SHOW SYMBOL SSD_LIFE_REMAINING
        SSD_LIFE_REMAINING = 610372 Hex = 00095044  Octal = 00002250104

      This example shows how to use the F$GETDVI function to return the
      wear out gas gauge data for the Solid State Drive (SSD) connected
      to a node in the Host Bus Adapters (HBA) mode and returns "-1" for
      other disks.

      SSD_USAGE_REMAINING - Reports in percentage the remaining life
                            of SSD available for use.

      SSD_LIFE_REMAINING  - Estimates the remaining life, in days, of
                            the SSD drive based on its percent usage
                            remaining.

      Note: The return value of SSD_USAGE_REMAINING "0" indicates that
      the device is worn out; it cannot accept any more writes and requires
      replacement. The estimated wear out information is based on the
      workload the device is running and the calculation is based on the
      endurance usage reported by VSI SSD drives.
Close Help