Library /sys$common/syshlp/helplib.hlb  —  System Services, $FILESCAN
    Searches a string for a file specification and parses the
    components of that file specification.

    Format

      SYS$FILESCAN  srcstr ,valuelst ,[fldflags] ,[auxout] ,[retlen]

    C Prototype

      int sys$filescan  (void *srcstr, void *valuelst, unsigned int

                        *fldflags, void *auxout, unsigned short int

                        *retlen);

1  –  Arguments

 srcstr

    OpenVMS usage:char_string
    type:         character-coded text string
    access:       read only
    mechanism:    by descriptor-fixed-length string descriptor
    String to be searched for the file specification. The srcstr
    argument is the address of a descriptor pointing to this string.

 valuelst

    OpenVMS usage:item_list_2
    type:         longword (unsigned)
    access:       modify
    mechanism:    by reference
    Item list specifying which components of the file specification
    are to be returned by $FILESCAN. The components are the full node
    specification, primary node name, primary node's access control,
    secondary node information, device, directory, file name, file
    type, and version number. The itmlst argument is the address of a
    list of item descriptors wherein each item descriptor specifies
    one component. The list of item descriptors is terminated by a
    longword of 0.

    Refer to the VSI OpenVMS System Services Reference Manual to view
    the item code diagram and descriptor fields table.

 fldflags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference
    Longword flag mask in which $FILESCAN sets a bit for each file
    specification component found in the input string. The fldflags
    argument is the address of this longword flag mask.

    The $FSCNDEF macro defines a symbolic name for each significant
    flag bit. The following table shows the file specification
    component that corresponds to the symbolic name of each flag
    bit:

    Symbolic Name    Corresponding Component

    FSCN$V_DEVICE    Device name
    FSCN$V_          Directory name
    DIRECTORY
    FSCN$V_NAME      File name
    FSCN$V_NODE      Node name
    FSCN$V_NODE_ACS  Access control string of primary node
    FSCN$V_NODE_     Primary (first) node name
    PRIMARY
    FSCN$V_NODE_     Secondary (additional) node information
    SECONDARY
    FSCN$V_ROOT      Root directory name string
    FSCN$V_TYPE      File type
    FSCN$V_VERSION   Version number

    The fldflags argument is optional. When you want to know which
    components of a file specification are present in a string but
    do not need to know the contents or length of these components,
    specify fldflags instead of valuelst.

 auxout

    OpenVMS usage:char_string
    type:         character-coded text string
    access:       write only
    mechanism:    by descriptor-fixed-length string descriptor
    Auxiliary output buffer. The auxout argument is the address of a
    character-string descriptor pointing to the auxiliary buffer.

    When you specify an auxiliary output buffer, $FILESCAN copies
    the entire source string, with quotation information reduced and
    simplified for only the primary node, into the auxiliary output
    buffer.

    When the auxiliary output buffer is provided, all addresses
    returned in the item list point to locations in the auxiliary
    output buffer.

 retlen

    OpenVMS usage:word_unsigned
    type:         word (unsigned)
    access:       write only
    mechanism:    by reference
    Length of the auxiliary buffer. The retlen argument is the
    address of a word into which $FILESCAN writes the length of the
    auxiliary buffer name string.
Close Help