1 XDFO
 Extract symbol definitions from an object code file.
 Format of command:

	$ XDFO [/qualifiers...]  object-file

 Definition of command:

	$ XDFO :== $FERMI$EXE:XDFO

2 Parameters
 The single, required parameter is the name of the object code file to
 be read for symbol definitions.  Only a single file (no wildcards of
 list of files) is accepted.  The default file type of ".OBJ" is used
 if an explicit file type is not included in the file specification.

2 Definition_Types
 One of the following set of qualifiers must be selected to specify the
 format of the resulting definitions file.  There are no defaults.

    Qualifier    Default file type
    ---------    -----------------
    /CC                .H           define symbols for VAX C using #define
                                    statements
    /FORTRAN           .FOR         define symbols for FORTRAN using the
                                    typeless PARAMETER statements
    /MACRO=name        .MAC         define the symbols in a macro whose
                                    name is given by the qualifier value
    /OPTIONS           .OPT         make an options file for the VAX Linker
                                    to define all the symbols as UNIVERSAL
    /PASCAL            .PAS         make a CONST section for a PASCAL
                                    program

2 Qualifiers
/ABSOLUTE
 /ABSOLUTE (default)
 /NOABSOLUTE

 Selects whether symbols defined with absolute values are included in the
 output definitions (default is to include only absolute symbols).

/ALLHEX
 /ALLHEX
 /NOALLHEX (default)

 If /ALLHEX is specified, all values are output as hexadecimal constants
 in the definitions files.  The normal, default case, is to only output
 the values of bit masks and signal codes as hexadecimal and all other
 values in decimal.  Bit masks and signal codes are recognized from the
 symbol names.  A bit mask is assumed to have a name of either of the
 formats:

	fac$M_name   OR  fac_M_name

 where the strings "$M_" or "_M_" appear as such in the symbol name.
 Signal codes (condition codes, status values) are recognized by names
 of the form:

	fac$_name  OR  fac__name

 where the strings "$_" or "__" appear as such in the symbol name (symbols
 with names like "fac___name" are NOT treated as signal codes).

/CC
 Output definitions for VAX C to define symbols with #define preprocessor
 statements.  All symbol names are uppercase.  Default output file type
 is ".H".

/EXCLUDE
 /EXCLUDE=(name,...)

 Lists one or more symbol names (wildcards can be used) to be excluded from
 the symbols in the output definitions file.

/FORTRAM
 Output definitions for VAX FORTRAN to define symbols with typeless
 PARAMETER statements.  Default output file type is ".FOR".

/INCLUDE
 /INCLUDE=(name,...)

 Lists one or more symbol names (wildcards can be used) to be included from
 the symbols in the output definitions file.  If /INCLUDE is used, then the
 definitions file will only include those symbols which match at least one
 of the name in the include list (and do not match any of the names on the
 exclude list if a /EXCLUDE qualifier was also given).

/MACRO
 /MACRO=name
 Output definitions for VAX MACRO to define symbols in a definitions
 macro.  Default output file type is ".MAC".  The macro name must be
 given by the value associated with the qualifier.  This name must end
 with "DEF" or "_DEF" (like the system macros, such as $DSCDEF).

/OPTIONS
 Output an options file for the VAX Linker to define the symbols as
 UNIVERSAL symbols when linking a shareable image.  Default output
 file type is ".OPT".  This type of definitions file does not include
 the symbol values.

/OUTPUT
 /OUTPUT=file

 Specifies the output file specification.  The default file type for the
 output definitions file is determined by the definition type qualifier
 (/CC, /FORTRAN, etc.) as described above.  If /OUTPUT is not given, the
 definitions file is written to a file in the current directory with
 name taken from the input object code file specification and with file
 type given by the default associated with the definition type.

/PASCAL
 Output definitions for VAX PASCAL to define symbols for constants in
 a CONST section.  Default output file type is ".PAS".

/RELOCATABLE
 /RELOCATABLE
 /NORELOCATABLE (default)

 Selects whether relocatable symbols (defined with offsets relative to
 a P-Section) are included in the output definitions (default is to
 include only absolute symbols).

/WEAK
 /WEAK (default)
 /NOWEAK

 Select whether or not weakly-defined symbols are included in the output
 definitions.  Default is to include WEAK symbols.
2 Examples
 Use XDFO to take the object output from the MESSAGE compile to generate
 a FORTRAN include file defining the condition code symbols:

	$ MESSAGE  QVI
	$ XDFO /FORTRAN	 QVI

 Using the same .OBJ file to make an options file for the Linker to define
 the condition symbols as universal symbols in order to link the message
 section into a shareable image:

	$ MESSAGE  QVIMSG
	$ XDFO /OPTIONS  QVIMSG
	$ LINK /SHAREABLE=IMAGE  ...,QVIMSG/OPTIONS,...


