XREF(1)                                                   XREF(1)



NAME
       xref - A cross referencing tool for C, C++ and Java.

SYNOPSIS
       xref   [options] infile [... infile]

TYPICAL INVOCATION FORMS
       xref   -create -p <project>

       xref   -update -p <project>

       xref   -html -p <project>

       xref   -html <srcdir>

DESCRIPTION
       Xref  is  a  C,  C++  and Java cross-referencing tool.  It
       parses input files noting all symbol's definitions and us
       ages.  If  not invoked with the -html its output is a list
       of symbols, together with positions of declarations, defi
       nition  and  all  usages.   Output  is written to the file
       specified by the -refs option. Xref's cross references are
       destinated to be read by xref itself or by on-line editing
       macros. Programming language in which  an  input  file  is
       written is inferred from file suffix as follows: .java for
       a Java language file, .y for a YACC (and  C)  input  file,
       .jar for a Java archive file, .cc and .cpp for C++ and fi
       nally all other suffixes are interpreted as C input files.

       When  invoked with the -html option xref  does not produce
       the cross reference file. Instead it converts input  files
       into   a   HTML  format  browsable  by  standard  Internet
       browsers. In those files each symbol is linked to its def
       inition.   Each definition is linked to a list of all sym
       bol usages.  HTML files are written in directory hierarchy
       specified by the -htmlroot option.


WILD CHARACTERS
       Following  wild characters can be used when specifying in
       put files: '*' expands to any (possibly empty) string; '?'
       expands  to  any single character and '[...]' pair expands
       to one of enclosed characters. Ranges of characters can be
       included between [ and ], so for example [a-z] matches any
       lower case letter, [0-9] matches any digit, as it is usual
       in standard shell expressions. If the first character fol
       lowing the [ is a ^ then the sense  of  expansion  is  in
       versed,  for example [^0-9] expands to any non-digit char
       acter. Options -I, -classpath, -sourcepath  and  -javadoc
       path  also  accept wild characters. Be carefull when using
       wild characters in those options as they can  considerably
       slow down the task.


NOTE
       Xref accepts many options, however except the -p , -create
       , -update and -html options,  it  is  not  recommended  to
       write them directly on the command line.  The standard way
       of passing options to xref  is  configuration  file  named
       .xrefrc placed in user's home directory. Options stored in
       the ${HOME}/.xrefrc file are read at each xref invocation.
       Storing  command  line  options into this file is the only
       way how you can pass project  depending  options  to  xref
       when invoked from Emacs.

       Order of options on command line is important. Options are
       processed in order in which they are written.


OPTIONS
       Here is the table of command options accepted by xref.

       -p project
              At the beginning of the execution, read and process
              options  from  the  section  project of the .xrefrc
              configuration file. This option is used to abstract
              from  concrete  options  and  file names when using
              xref from command line and from several IDEs.   For
              more info, see the .xrefrc file documentation.

       -r -no-r
              Those options control whether input directories are
              scanned recursively for input files or not. The de
              fault is -r, i.e. recursive scan.

       -prune paths
              When  recursively  searching for input files do not
              enter into directories in paths. Paths can  be  ei
              ther a simple name, an absolute path, or a ':' (';'
              under MS-Windows) separated list of both. For exam
              ple  -prune  CVS:/project/backup will forbids scan
              ning of the directory /project/backup  as  well  as
              all directories named CVS.

       -encoding=<type>
              This option specifies international encoding of in
              put files. Available values  for  <type>  are  'de
              fault',  'european', 'euc', 'sjis', 'utf', 'utf-8',
              'utf-16', 'utf-16le' and 'utf-16be'. The  'default'
              value results in standard ASCII (and 'utf-8') char
              acters. If your files contain, for  example,  8-bit
              european  characters,  then you should include -en
              coding=european into your project setting.

       -noconversion -crconversion -crlfconversion
              Options controling end of  line  character  conver
              sions.  By  default  xref  automatically determines
              which character sequence should  be  considered  as
              end-of-line.  Those  options force xref to consider
              respectively linefeed (-noconversion), return (-cr
              conversion), or return followed by linefeed (-crlf
              conversion) as beginning of next line. Those  cases
              corresponds  respectively  to Unix, Mac OS and Win
              dows systems.

       -I dir Add the directory dir to the end of list of  direc
              tories  inspected when looking for an include file.
              If specified more than one `-I' option, the  direc
              tories  are  scanned in left-to-right order. If the
              directory is specified using relative path,  it  is
              considered  relative  to  the currently parsed file
              directory.

       -Dname  Predefine name as a macro, with definition `1'.

       -Dname=definition
               Predefine name as a macro, with definition defini
              tion.

       -resetIncludeDirs
              This  option  removes  all default directories from
              include directory  list  (including  the  directory
              /usr/include).

       -cacheincludes
              This  option causes that xref task will keep readed
              include files in memory and reuse  them  when  pro
              cessing  next files.  This can improve time perfor
              mance when many source files are using common head
              er files. Especially if those header files are read
              over network or from a slow drive. It will increase
              space requirements, however.

       -jdkclasspath paths
              This  option  defines  path to standard runtime li
              brary (rt.jar) of your Java  installation.  If  you
              are using JDK from Sun Microsystems, then xref task
              should be able to infer this path from PATH and JA
              VA_HOME  environment  variables. Otherwise you will
              need to specify it explicitly  using  -jdkclasspath
              option.  The syntax of paths is the same as for the
              -classpath option.  For example  you  can  use  the
              '-jdkclasspath  /usr/local/jdk1.2.2/jre/lib/rt.jar'
              settting for most Java 1.2 installations.

       -classpath paths
              This option specifies the classpath used for  find
              ing  Java  .class files.  This option overrides the
              value of the environment variable  CLASSPATH.   See
              also  the '-jdkclasspath' and '-sourcepath' option.

       -sourcepath paths
              This option specifies paths where sources  of  Java
              packages  and  classes  are  searched.  This option
              overrides the value  of  the  environment  variable
              SOURCEPATH.   If  not present the current classpath
              is used as default. The 'sourcepath' value is  used
              for finding source files in the same way as 'class
              path' is used for finding  .class  compiled  files.
              When  loading  a class having both source and class
              available then the time  of  last  modification  of
              both files is examined and the class is loaded from
              the newer file.

       -javadocpath=<path>
              Specifies  paths  where  Javadoc  documentation  is
              stored  in  local file system. Several paths can be
              specified, the syntax is the same as for  classpath
              value.  When  looking  for a javadoc documentation,
              xref will first search files on paths specified  by
              -javadocpath, if not found and the package documen
              tation is available (-javadocavailable option)  the
              URL  specified  by  -javadocurl is taken.  See also
              -javadocurl, -javadocavailable and  -htmlgenjavado
              clink options.

       -packages
              This  option  allows to enter package names instead
              of input file names on command line.

       -source <version>
              Specifies version of  Java  in  which  sources  are
              written.  Currently  available  values  are: "1.3",
              "1.4" and "auto". Version "auto"  will  cause  that
              xref determines Java version automatically from Ja
              va runtime library. Version "1.4" means  that  'as
              sert'  command  is  allowed  and 'assert' string is
              considered as keyword, so you can't have any method
              or variable of this name. Default value is "1.3".

       -java1.4
              This option is obsolete, use -source instead.  With
              this option sources are considered to be written in
              Java version 1.4.

       -refs file
              This option specifies the file where the cross-ref
              erences are stored. If the -refnum=n option is pre
              sent  then  the  file indicates the directory where
              cross-reference files are stored.

       -refnum=<number>
              This option  specifies  how  many  cross  reference
              files  will  be generated.  When <number> == 1, the
              name specified by the '-refs'  option  is  directly
              the  name  of the cross reference file.  When <num
              ber> > 1 then the name specified by the '-refs' op
              tion is interpreted as directory where cross refer
              ence files are  stored.   You  should  specify  the
              <number>  proportionally  to  the size of your pro
              ject.  Do not forget to delete the old cross-refer
              ence  file  if  you  change the -refnum from 1 to a
              bigger value.

       -refalphahash
              Split references into 28  files  depending  on  the
              first  letter  of the symbol. This option is useful
              when generating HTML form, because it makes easy to
              find  cross references for given symbol name.  This
              option excludes using of the -refnum option.

       -refalpha2hash
              Split references into 28*28 files depending on  the
              first  two  letters  of  the symbol. This option is
              useful when generating HTML form, because it  makes
              easy  to  find  cross  references  for given symbol
              name.  This option excludes using  of  the  -refnum
              option.

       -exactpositionresolve
              This option controls how symbols which are local to
              a compilation unit, but  usually  used  in  several
              files,  are  linked  together.  This concerns C/C++
              symbols like macros, structures and their  records,
              etc.   Such  symbols  have  no link names passed to
              linker (like global functions have).  This  creates
              a  problem  how 'xref' can link together (for exam
              ple) structures of the same name used in  different
              compilation  units.   If  the -exactpositionresolve
              option is present then such symbols are  considered
              to  be  equals  if  their definitions come from the
              same header file and they are defined at  the  same
              position  in  the file (in other words if this is a
              single definition in the  source  code).  Otherwise
              two  symbols are linked together when they have the
              same name.   The  '-exactpositionresolve'  is  very
              powerful  feature because it allows perfect resolu
              tion of browsed symbol and allows you to safely re
              name  one of two symbols if a name conflict occurs.
              However this option also causes that you will  need
              to update cross reference file after each modifica
              tion of a header file (as the cross-reference  file
              stores information about position of the macro def
              inition).  Updating may be too annoying  in  normal
              use  when you often edit header files.  In general,
              this option is  recommended  when  browsing  source
              code which is not under active development.


       -storelocalxrefs -no-storelocalxrefs
              This  option  controls  whether references of local
              symbols (local  variables,  parameters,  etc.)  are
              stored  in cross reference file or not. The default
              is -storelocalxrefs, i.e. store  local  references.
              Local  references take additional disk space (espe
              cially in Java programs) making update  slower  and
              are  not  needed  for usual browsing as they can be
              computed during symbol  resolution.  However,  they
              are useful if you do not modify your files very of
              ten or if you have long files  and  online  parsing
              takes  too  much  time. They are also useful during
              resolution of symbols within header files.


       -noincluderefresh
              This is a particular option  meaningful  only  when
              xref  task  is used from Emacs. It causes that xref
              task does not update include references  when  used
              by  an Emacs macro. This avoids memory overflow for
              huge projects or for projects including huge header
              files (for example when including Microsoft windows
              API headers).


       -create
              Create cross-reference file by parsing all  project
              files.


       -update
              This  option represents standard way of how to keep
              cross-reference file up to  date.  It  causes  that
              modification  time  of  all  input files as well as
              those listed in the existing  cross-reference  file
              are  checked  and only those having newer modifica
              tion time than existing  cross-reference  file  are
              scheduled to be processed. Also all files which in
              cludes  (by  Cpp  pre-processor)  those  files  are
              scheduled to be processed.


       -fastupdate
              The  same  as -update with the difference that only
              modified files are scheduled to be  processed.  Un
              less you are using also '-exactpositionresolve' op
              tion this is enough for most references to be  cor
              rectly updated.

       -fupdate
              Full  update, force update of input files. This op
              tion is like the -update option with the difference
              that input files entered on command line are always
              reparsed  (not  depending  on  their   modification
              time).

       -set <name> <value>
              The xref task provides a simple environment manage
              ment. The -set option associates the string  <name>
              to  the  string  <value>. The value can be then ac
              cessed by enclosing the name in ${ }.

              If an option contains a name of  a  previously  de
              fined  variable enclosed in ${ and }, then the name
              (together with encolsing ${}) is  replaced  by  the
              corresponding value. Variables can be hence used to
              abbreviate options or to predefine repeating  parts
              of  options.  Following predefined variables can be
              used in order to introduce  problematic  characters
              into  options:  'nl' for newline; 'pc' for percent;
              'dl' for dollar; 'sp' for space and 'dq'  for  dou
              ble-quotes.  Also  all  environment variables taken
              from operating system (like PATH,  HOME,  ...)  are
              'inherited'  and can be used when enclosed in ${ }.
              For example ${PATH} string will be replaced by  the
              value of the environment variable PATH.

              Another  usage  of -set option is to define project
              depending values used by Emacs  macros.  Emacs  can
              retrieve  value of an environmnet variable by send
              ing '-get <name>' request to xref task.   Emacs  is
              currently  using following variables to get project
              depending  settings:  "compilefile",  "compiledir",
              "compileproject",  "run1",  "run2",  ...  , "run5",
              "runthis" and "run". Those variables  are  used  by
              'Emacs  IDE' macros to retrieve commands for compi
              lation and running of project program.  For example
              an  option: -set run "echo will run now ${nl}a.out"
              will define run command to  print  'will  run  now'
              message and then execute a.out command. When a com
              mand string is enclosed in quotas  it  can  contain
              newline  characters  to  separate  sequence of com
              mands.  For more info about compile  and  run  com
              mands  see  on-line Emacs help of the corresponding
              Xrefactory macros.

       -brief The output of cross referencing will be in  compact
              form,  still  readable by xref but rather difficult
              for human reader. This option is default now.

       -nobrief
              The output of cross referencing will contain  "com
              ment" records for human readers.

       -no_enum
              Don't cross reference enumerators.

       -no_mac
              Don't cross reference macros.

       -no_type
              Don't cross-reference user defined types.

       -no_str
              Don't cross reference structure records.

       -no_local
              Don't  cross reference function arguments and local
              variables.

       -no_cfrefs
              Don't get cross references from class  files.  This
              can  decrease  the  size of your Tag file. However,
              because informations about class hierarchy are tak
              en  mainly  from class files this option may causes
              that showed class hierarchies will be incomplete.

       -html  Causes xref to  not  produce  the  cross  reference
              file.  Instead  it  proceeds  input  files creating
              browsable files in the HTML format.

       -smartHtml
              Causes xref to  not  produce  the  cross  reference
              file. Instead it reads a previously generated cross
              reference file, then it creates browsable files  in
              the HTML format.

       -htmlroot=dir
              Write  output  HTML  files into directory hierarchy
              starting by the dir.  This option is meaningful on
              ly  in combination with -html or -smartHtml option.

       -d dir Equivalent to -htmlroot=dir.

       -htmltab=number
              When generating HTML files, set  the  tabulator  to
              number.

       -htmllinenums -no-htmllinenums
              When  converting source files into HTML format gen
              erate (or not) line numbers before source code. The
              default  value  is -htmllinenums, i.e. generate the
              line numbers.

       -htmlnocolors
              When converting source files into  HTML  format  do
              not  generate  color highlighting of keywords, com
              mentaries and preprocessor directives.

       -htmlgxlist -no-htmlgxlist
              When converting source files into HTML format  gen
              erate lists of all usages for each global symbol or
              not. The default is -htmlgxlist, i.e. generate  the
              lists.

       -htmllxlist -no-htmllxlist
              When  converting source files into HTML format gen
              erate lists of all usages for  each  local  symbol.
              The  default  is  -htmllxlist,  i.e.  generate  the
              lists.

       -htmldirectx -no--htmldirectx
              When converting source files into HTML format, link
              (or  not)  the first character of a symbol directly
              to its cross references. The default is -htmldirec
              tx.

       -htmlfunseparate
              Causes  that HTML files will contain horizontal bar
              separating function definitions.

       -htmlcutpath=<path>
              This option causes that the output files  from  the
              path  directory  are not stored with full path name
              under -htmlroot directory.  Rather the path is  cut
              from  the  full  file  name.  Xref  accepts several
              '-htmlcutpath' options. On MS-DOS (QNX) system, the
              path  should  be an absolute path but without drive
              (node) specification.

       -htmlcutcwd
              equals '-htmlcutpath=${CWD}' cutting current  work
              ing directory path from html paths.

       -htmlcutsourcepaths
              cut  also  all  Java  source paths defined by SOUR
              CEPATH environment variable or by  -sourcepath  op
              tion.

       -htmlcutsuffix
              Cut language suffix from generated html file names.
              With  this  option   xref   will   generate   files
              Class.html instead of Class.java.html (or file.html
              instead of file.c.html for C language).

       -htmllinenumlabel=<label>
              Set the label generated before line number in  html
              documents.  For example -htmllinenumlabel=line will
              generate line<n> labels compatible with links  gen
              erated by javadoc version 1.4.

       -htmllinkcolor=<color>
              This  option  specifies the color in which links of
              the HTML document will appear. For  example  '-htm
              llinkcolor=black' or '-htmllinkcolor=#000000' caus
              es that links will be black.

       -htmllinenumcolor=<color>
              This option specifies the color of line numbers for
              generated   HTML.   For  example  '-htmllinenumcol
              or=black'  or  '-htmllinenumcolor=#000000'   causes
              that line numbers will always be black. This option
              is meaningful only  in  combination  with  -htmlli
              nenums option.

       -htmlnounderline
              This  option causes that links in the HTML document
              will not be underlined  (if  your  browser  support
              styles).

       -htmlColorTabHead=<color>   -htmlColorAmbigTabBody=<color>
       -htmlColorRefTabBody=<color> -htmlColorClassTab=<color>
              Set  colors for backgrounds for respective parts of
              cross reference tables.  For  example,  the  option
              -htmlColorClassTab=ffffff  will make the background
              of class subtrees white.

       -htmlgenjavadoclinks
              When generating html generate links to Javadoc doc
              umentation  for  symbols  without definition refer
              ence.

       -javadocurl=<url> -htmljavadocpath=<url>
              Specifies URL where existing non-local Javadoc doc
              umentation is stored.  Both options are equivalent,
              the -htmljavadocpath is obsolete.  The  default  is
              "-javadocurl=http://ja
              va.sun.com/j2se/1.3/docs/api".  It is  supposed  to
              contain Javadoc documentation of packages for which
              you do not have source code nor local Javadoc docu
              mentation,  but  the  documentation is available on
              the  Internet.   See  also  -javadocpath,  -javado
              cavailable and -htmlgenjavadoclink options.

       -javadocavailable=<packs> -htmljavadocavailable=<packs>
              Both options are equivalent, the -htmljavadocavail
              able is obsolete.  The  option  specifies  packages
              having  Javadoc  documentation  placed  on  the URL
              specified by the -javadocurl option.   The  <packs>
              string is a list of packages separated by ':' sign.
              For example correct setting for  standard  jdk  is:
              "-javadocavailable=java.applet:java.awt:ja
              va.beans:java.io:java.lang:java.math:java.net:ja
              va.rmi:java.security:java.sql:java.text:ja
              va.util:javax.accessibili
              ty:javax.swing:org.omg.CORBA:org.omg.CosNaming".
              See also -javadocpath,  -javadocurl  and  -htmlgen
              javadoclink options.

       -htmlzip=<command>
              This  option  causes  that  the  command command is
              called after having  created  any  HTML  file.  The
              character  '!'  included in the command has special
              meaning and is replaced by the  name  of  the  last
              generated  HTML file. For example "-htmlzip=gzip -f
              !"  option causes that  all  generated  HTML  files
              will  be zipped. See also '-htmllinksuffix' option.

       -htmllinksuffix=<suf>
              This option causes that whenever a  hypertext  link
              to a file xxx should be generated then in reality a
              link to the file xxx.suf is generated. This  option
              is  meaningful  mainly  with the '-htmlzip' option.
              For example the combination  "-htmlzip=gzip  -f  !"
              -htmllinksuffix=.gz  causes that all generated HTML
              files will be compressed and the links are correct
              ly generated to those compressed files.

       -optinclude file (or -stdop file)
              This option causes that the file `file' is read and
              scanned for further options. When used in an  .xre
              frc  file  this options includes options defined in
              file.  However, if the included  file  is  modified
              while  xref  task is running then xref is unable to
              automatically reload new options.  If you use -opt
              include  (-stdop)  option,  and you modify included
              file, you will need to kill and restart xref server
              task in order that changes take effect.

       -no_stdop
              This  option  forbids the search of standard option
              files '.xrefrc' and 'Xref.opt'.

       -mf<n> This option sets the memory factor for cross-refer
              ences.  In the current version this option controls
              only the size of memory chunks  allocated.  It  de
              fines  how  many additional megabytes of memory are
              allocates when an additional memory for cross  ref
              erences  is needed. The default value is around 32.

       -pass<n>
              Strictly speaking this is not xref  option.  It  is
              used  in the .xrefrc configuration file to describe
              how to process source  files  in  multiple  passes.
              Multiple  passes  are necessary if you need to pro
              cess your C or  C++  sources  for  several  initial
              macro  settings.  For  more informations about this
              option read the 'xrefrc' manual page.

       -keep_old
              This option is obsolete. It is kept for compatibil
              ity  reasons only.  It is recommended to use multi
              ple passes options of the '.xrefrc'  file  instead.
              The  '-keep_old'  option  causes that the output of
              cross-referencing is added to  existing  references
              from  the  file  specified by the -refs option. All
              old references of the reference file are kept.

       -no_cpp_comment
              When scanning input  files,  do  not  consider  the
              string  `//' as beginning of a comment ended by end
              of line.

       -allowprogramcomments
              When scanning input files, do not consider  strings
              //&  and /*& as beginning of comments. Those lexems
              are ignored together with the lexem  &*/  ending  a
              program  commentary.   This  is used to temporarily
              comment out pieces of code in your sources.  Pieces
              enclosed  between  /*&  and &*/ are considered as a
              commentary by the compiler,  but  xref  will  parse
              them and include them into cross references.

       -csuffixes=<suffixes>
              This  option defines list of suffixes (separated by
              ':' character under Unix and ';' under  MS-Windows)
              for  C source files. Files with those suffixes will
              be inserted into Tag file and parsed with Xrefacto
              ry's C parser. Suffixes should not start by the '.'
              dot character which is considered as suffix separa
              tor automatically. For example suffixes "c:tc" mean
              that files ending by ".c" or ".tc"  are  considered
              as C input files.

       -cppsuffixes=<suffixes>
              This  option defines list of suffixes (separated by
              ':' character under Unix and ';' under  MS-Windows)
              for  C++  source  files.  Files with those suffixes
              will be inserted into  Tag  file  and  parsed  with
              Xrefactory's  C++ parser. Suffixes should not start
              by the '.'  dot character which  is  considered  as
              suffix separator automatically. For example suffix
              es "c:cpp" mean that files ending by ".c" or ".cpp"
              are considered as C++ input files.

       -javasuffixes=<suffixes>
              This  option defines list of suffixes (separated by
              ':' character under Unix and ';' under  MS-Windows)
              for  Java  source  files. Files with those suffixes
              will be inserted into  Tag  file  and  parsed  with
              Xrefactory's Java parser. Suffixes should not start
              by the '.'  dot character which is consider as suf
              fix  separator automatically.  For example, the de
              fault value under MS-Windows  is  -javasuffixes=ja
              va;JAV.

       -filescasesensitive -filescaseunsensitive
              This  option  controls  whether xref is considering
              two file names differing only in cases as the  same
              file  or  not. By default file names are considered
              as case sensitive. Setting names to be case  unsen
              sitive may avoid confusion in C #include directives
              under MS-Windows system.

       -errors
              Report all kinds of error messages independently on
              the gravity of the error.

       -maxerrors=<n>
              Report up to n error messages per file.

       -ignoreopt<option>    -ignoreopt2<option>   -ignoreoptpre
       fix<prefix>
              The  option -ignoreopt<opt> causes that any follow
              ing occurence of the option <opt>  on  the  command
              line  will be ignored.  I.e. it will take no effect
              and no error will be reported if no such option ex
              ists.   Similarly  -ignoreopt2<opt> causes that op
              tion <opt> will be ignored as well  as  any  option
              following  it.  The option -ignoreoptprefix<prefix>
              will cause that any further option starting by  the
              <prefix>  will be ignored. Those options are usualy
              used when creating HTML for some very complex  pro
              jects,  where  file  indexing is done directly from
              makefiles. In such case xref is called  instead  of
              the standard compiler and compiler specific options
              like '-c', '-o' are ignored.

       -ignoreunknownopt
              This option causes that any further unknown  option
              is ignored and does not produce an error message.

       -cpp<option>
              The  string  following -cpp prefix is sent directly
              to the C/C++ frontend. Xref does not analyze  those
              options, it simply shifts them to the frontend. Us
              ing this generic option you can  tune  performances
              of  the  C/C++ frontend used by xref.  For example,
              the option -cpp--g++ makes the frontend to  imitate
              GNU  C++  compiler,  the option -cpp--sun makes the
              frontent to imitate Sun  CC  compiler,  the  option
              -cpp--microsoft  makes the front end to imitate the
              Microsoft compiler.  For the complete documentation
              about  C/C++ frontend command line options read the
              edgoptions.ps file. This file contains excerpt from
              the frontend internal documentation.  Be aware that
              not all options documented in this document are op
              erational.  Especially all preprocessor related op
              tions are irrelevant as xref is using its own  pre
              processor.


MORE INFO
       http://www.xref-tech.com

SEE ALSO
       xrefrc(5),



                                                          XREF(1)
