VMS Help  —  RTL Routines, LIB$  LIB$FIND_FILE
    The Find File routine is called with a file specification for
    which it searches. LIB$FIND_FILE returns one file specification
    for each call. The file specification may contain wildcards.

    Format

      LIB$FIND_FILE  filespec ,resultant-filespec ,context

                     [,default-filespec] [,related-filespec]

                     [,status-value] [,flags]

1  –  Returns

    OpenVMS usage:cond_value
    type:         longword (unsigned)
    access:       write only
    mechanism:    by value

2  –  Arguments

 filespec

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    File specification, which may contain wildcards, that LIB$FIND_
    FILE uses to search for the desired file. The filespec
    argument is the address of a descriptor pointing to the file
    specification. If running on Alpha or I64 and flag LIB$M_FIL_
    LONG_NAMES is set, the maximum length of a file specification
    is specified by NAML$C_MAXRSS, otherwise the maximum length of a
    file specification is 255 bytes.

    The file specification used may also contain a search list
    logical name. If present, the search list logical name elements
    can be used as accumulative to related file specifications, so
    that portions of file specifications not specified by the user
    are inherited from previous file specifications.

 resultant-filespec

    OpenVMS usage:char_string
    type:         character string
    access:       modify
    mechanism:    by descriptor

    Resultant file specification that LIB$FIND_FILE returns when
    it finds a file that matches the specification in the filespec
    argument. The resultant-filespec argument is the address of a
    descriptor pointing to the resultant file specification.

 context

    OpenVMS usage:context
    type:         longword (unsigned)
    access:       modify
    mechanism:    by reference

    A longword integer variable into which the routine stores a
    context value for use by future calls to LIB$FIND_FILE or
    LIB$FIND_FILE_END. The context argument is an unsigned longword
    integer containing the address of the context. This variable
    must be set to zero before the first call to LIB$FIND_FILE. You
    can use the same context argument from one LIB$FIND_FILE call to
    another provided you have not called LIB$FIND_FILE_END for that
    context first. LIB$FIND_FILE uses this argument to retain the
    context when processing multiple input files. Portions of file
    specifications that the user does not specify may be inherited
    from the last files processed because the file contexts are
    retained in this argument. You must not change the value of
    context in subsequent calls to LIB$FIND_FILE.

 default-filespec

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Default file specification. The default-filespec argument
    is the address of a descriptor pointing to the default
    file specification. See the OpenVMS Record Management
    Services Reference Manual for information about default file
    specifications.

 related-filespec

    OpenVMS usage:char_string
    type:         character string
    access:       read only
    mechanism:    by descriptor

    Related file specification containing the context of the last
    file processed. The related-filespec argument is the address of a
    descriptor pointing to the related file specification.

    The related file specification is useful when you are processing
    lists of file specifications. Unspecified portions of the file
    specification are inherited from the last file processed. For
    more information on related file specifications, see the OpenVMS
    Record Management Services Reference Manual.

 status-value

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference

    RMS secondary status value from a failing RMS operation. The
    status-value argument is an unsigned longword containing the
    address of a longword-length buffer to receive the RMS secondary
    status value (usually returned in the file access block field,
    FAB$L_STV).

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference

    User flags. The flags argument is the address of an unsigned
    longword containing the user flags.

    The flag bits and their corresponding symbols are described in
    the following table:

    Bit  Symbol             Description

    0    LIB$M_FIL_NOWILD   If set, LIB$FIND_FILE returns an error if
                            a wildcard character is input.
    1    LIB$M_FIL_         If set, this performs temporary
         MULTIPLE           defaulting for multiple input files
                            and the related-filespec argument is
                            ignored. See description of context
                            in LIB$FILE_SCAN. Each time LIB$FIND_
                            FILE is called with a different file
                            specification, the specification from the
                            previous call is automatically used as a
                            related file specification. This allows
                            parsing of the elements of a search-
                            list logical name such as DISK2:[SMITH]
                            FIL1.TYP,FIL*2.TYP, and so on. Use of
                            this feature is required to get the
                            desired defaulting with search list
                            logical name. LIB$FIND_FILE_END must
                            be called between each command line in
                            interactive use or the defaults from the
                            previous command line affect the current
                            file specification.
    2    LIB$M_FIL_LONG_    (Alpha and I64 only) If set, LIB$FIND_
         NAMES              FILE can process file specifications with
                            a maximum length of NAML$C_MAXRSS. If
                            clear, LIB$FIND_FILE can process file
                            specifications with a maximum length of
                            255 (default).
Close Help