VMS Help  —  FDL Routines, FDL$GENERATE
    The FDL$GENERATE routine produces an FDL specification and writes
    it to either an FDL file or a character string.

    Format

      FDL$GENERATE  flags ,fab_pointer ,rab_pointer [,fdl_file_dst]

                    [,fdl_file_resnam] [,fdl_str_dst] [,bad_blk_addr]

                    [,retlen]

1  –  Returns

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

    Longword condition value. Most utility routines return a
    condition value in R0. Condition values that this routine can
    return are listed under Condition Values Returned.

2  –  Arguments

 flags

    OpenVMS usage:mask_longword
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    Flags (or masks) that control how the fdl_str_dst argument is
    interpreted and how errors are signaled. The flags argument is
    the address of a longword containing the control flags (or a
    mask). If you omit this argument or specify it as zero, no flags
    are set. The flags and their meanings are as follows:

    Flag             Function

    FDL$V_FDL_       Interprets the fdl_str_dst argument as an FDL
    STRING           specification in string form. By default, the
                     fdl_str_dst argument is interpreted as the file
                     name of an FDL file.
    FDL$V_FULL_      Includes the FDL attributes to describe all
    OUTPUT           the bits and fields in the OpenVMS RMS control
                     blocks, including run-time options. If this flag
                     is set, every field is inspected before being
                     written. By default, only the FDL attributes
                     that describe permanent file attributes
                     are included (producing a much shorter FDL
                     specification).
    FDL$V_LONG_      Returns the FDL_FILE_RESNAME using the long
    NAMES            result name from a long name access block
                     (NAML). By default, the FDL_FILE_RESNAM is
                     returned from the short fields of a name access
                     block (NAM) and thus may have a generated
                     specification.

                     This flag is valid for OpenVMS Alpha only.
    FDL$V_SIGNAL     Signals any error. By default, the status code
                     is returned to the calling image.

    By default, an error status is returned rather than signaled.

 fab_pointer

    OpenVMS usage:address
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    RMS file access block (FAB). The fab_pointer argument is the
    address of a longword containing the address of a FAB.

 rab_pointer

    OpenVMS usage:address
    type:         longword (unsigned)
    access:       read only
    mechanism:    by reference
    RMS record access block (RAB). The rab_pointer argument is the
    address of a longword containing the address of a RAB.

 fdl_file_dst

    OpenVMS usage:char_string
    type:         character-coded text string
    access:       read only
    mechanism:    by descriptor
    Name of the FDL file to be created. The fdl_file_dst argument
    is the address of a character-string descriptor containing the
    file name of the FDL file to be created. If the FDL$V_FDL_STRING
    flag is set in the flags argument, this argument is ignored;
    otherwise, it is required. The FDL specification is written to
    the file named in this argument.

 fdl_file_resnam

    OpenVMS usage:char_string
    type:         character-coded text string
    access:       write only
    mechanism:    by descriptor-fixed-length string descriptor
    Resultant name of the FDL file created. The fdl_file_resnam
    argument is the address of a variable character-string descriptor
    that receives the resultant name of the FDL file created (if
    FDL$GENERATE is directed to create an FDL file).

 fdl_str_dst

    OpenVMS usage:char_string
    type:         character-coded text string
    access:       write only
    mechanism:    by descriptor-fixed-length string descriptor
    FDL specification. The fdl_str_dst argument is the address of
    a variable character string descriptor that receives the FDL
    specification created. If the FDL$V_FDL_STRING bit is set in
    the flags argument, this argument is required; otherwise, it is
    ignored.

 bad_blk_addr

    OpenVMS usage:address
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference
    Address of an invalid RMS control block. The bad_blk_addr
    argument is the address of a longword that receives the address
    of an invalid control block (a fatal error). If an invalid
    control block is detected, this argument is returned; otherwise,
    it is ignored.

 retlen

    OpenVMS usage:longword_unsigned
    type:         longword (unsigned)
    access:       write only
    mechanism:    by reference
    Number of characters received in either the fdl_file_resnam or
    the fdl_str_dst argument. The retlen argument is the address of a
    longword that receives this number.

3  –  Condition Values Returned

    SS$_NORMAL         Normal successful completion.
    FDL$_INVBLK        Invalid block.
    RMS$_ACT           File activity precludes operation.
    RMS$_CONTROLC      Operation completed under Ctrl/C.
    RMS$_CONTROLO      Output completed under Ctrl/O.
    RMS$_CONTROLY      Operation completed under Ctrl/Y.
    RMS$_DNR           Device not ready or mounted.
    RMS$_EXT           ACP file extend failed.
    RMS$_OK_ALK        Record already locked.
    RMS$_OK_DUP        Record inserted had duplicate key.
    RMS$_OK_IDX        Index update error occurred.
    RMS$_PENDING       Asynchronous operation pending completion.
    RMS$_PRV           Insufficient privilege or file protection
                       violation.
    RMS$_REX           Record already exists.
    RMS$_RLK           Target record currently locked by another
                       stream.
    RMS$_RSA           Record stream currently active.
    RMS$_WLK           Device currently write locked.
    SS$_ACCVIO         Access violation.
    STR$_FATINERR      Fatal internal error in run-time library.
    STR$_ILLSTRCLA     Illegal string class.
    STR$_INSVIRMEM     Insufficient virtual memory.
Close Help