@c Software Foundation, and is under different copyright restrictions
@c from the rest of this package.)
+@setfilename com_err.info
+@settitle A Common Error Description Library for UNIX
+
@ifinfo
-@barfo
+@dircategory Development
+@direntry
+* Com_err: (com_err). A Common Error Description Library for UNIX.
+@end direntry
@end ifinfo
-@iftex
-@tolerance 10000
+@c smallbook
-@c Mutate section headers...
-@begingroup
- @catcode\11#=6
- @gdef@secheading#1#2#3{@secheadingi {#3@enspace #1}}
-@endgroup
+@iftex
+@finalout
@end iftex
-@setfilename com_err
-@settitle A Common Error Description Library for UNIX
-
@ifinfo
This file documents the use of the Common Error Description library.
(this paragraph not being relevant to the printed manual).
@end ignore
+@end ifinfo
@setchapternewpage odd
@end titlepage
-
@node Top, Why com_err?, (dir), (dir)
@top A Common Error Description Library for UNIX
* Acknowledgements::
@end menu
-@end ifinfo
-
@page
@node Why com_err?, Error codes, Top, Top
-@section Why com_err?
+@chapter Why com_err?
In building application software packages, a programmer often has to
deal with a number of libraries, each of which can use a different
of the table.
@node Error codes, Error table source file, Why com_err?, Top
-@section Error codes
+@chapter Error codes
Error codes themselves are 32 bit (signed) integers, of which the high
order 24 bits are an identifier of which error table the error code is
significant effort.
@node Error table source file, The error-table compiler, Error codes, Top
-@section Error table source file
+@chapter Error table source file
The error table source file begins with the declaration of the table name,
as
@end example
@node The error-table compiler, Run-time support routines, Error table source file, Top
-@section The error-table compiler
+@chapter The error-table compiler
The error table compiler is named @code{compile_et}. It takes one
argument, the pathname of a file (ending in @samp{.et}, e.g.,
codes defined; the object module generated from the C code may be linked in
to a program which wishes to use the printed forms of the error codes.
-This translator accepts a @kbd{-language @var{lang}} argument, which
-determines for which language (or language variant) the output should be
-written. At the moment, @var{lang} is currently limited to @kbd{ANSI-C}
-and @kbd{K&R-C}, and some abbreviated forms of each. Eventually, this will
-be extended to include some support for C++. The default is currently
-@kbd{K&R-C}, though the generated sources will have ANSI-C code
-conditionalized on the symbol @t{__STDC__}.
-
@node Run-time support routines, Coding Conventions, The error-table compiler, Top
-@section Run-time support routines
+@chapter Run-time support routines
Any source file which uses the routines supplied with or produced by the
com_err package should include the header file @file{<com_err.h>}. It
@end deftypefun
-@deftypefun
-void com_err (const char *@var{whoami}, long @var{error_code},
- const char *@var{format}, ...);
+@deftypefun void com_err (const char *@var{whoami}, long @var{error_code}, const char *@var{format}, ...);
This routine provides an alternate way to print error messages to
standard error; it allows the error message to be passed in as a
@end deftypefun
-@deftypefun
-void com_err_va (const char *@var{whoami}, long @var{error_code}, const char *@var{format}, va_list @var{args});
+@deftypefun void com_err_va (const char *@var{whoami}, long @var{error_code}, const char *@var{format}, va_list @var{args});
This routine provides an interface, equivalent to @code{com_err} above,
which may be used by higher-level variadic functions (functions which
@end deftypefun
-@deftypefun void (*set_com_err_hook (void (*@var{proc}) (const char *@var{whoami}, long @var{error_code}, va_list @var{args}))) (const char *@var{whoami}, long @var{error_code}, va_list @var{args});
+@deftypefun void *set_com_err_hook (void (*@var{proc}) (const char *@var{whoami}, long @var{error_code}, va_list @var{args}) (const char *@var{whoami}, long @var{error_code}, va_list @var{args}));
@deftypefunx void reset_com_err_hook ();
@end deftypefun
@node Coding Conventions, Building and Installation, Run-time support routines, Top
-@section Coding Conventions
+@chapter Coding Conventions
The following conventions are just some general stylistic conventions
to follow when writing robust libraries and programs. Conventions
@end example
@node Building and Installation, Bug Reports, Coding Conventions, Top
-@section Building and Installation
+@chapter Building and Installation
The distribution of this package will probably be done as a compressed
``tar''-format file available via anonymous FTP from SIPB.MIT.EDU.
installed for use; @samp{com_err.3} and @samp{compile_et.1} can also be
installed as manual pages.
-Potential problems:
-
-@itemize @bullet
-
-@item Use of @code{strcasecmp}, a routine provided in BSD for
-case-insensitive string comparisons. If an equivalent routine is
-available, you can modify @code{CFLAGS} in the makefile to define
-@code{strcasecmp} to the name of that routine.
-
-@item Compilers that defined @code{__STDC__} without providing the header
-file @code{<stdarg.h>}. One such example is Metaware's High ``C''
-compiler, as provided at Project Athena on the IBM RT/PC workstation; if
-@code{__HIGHC__} is defined, it is assumed that @code{<stdarg.h>} is not
-available, and therefore @code{<varargs.h>} must be used. If the symbol
-@code{VARARGS} is defined (e.g., in the makefile), @code{<varargs.h>} will
-be used.
-
-@item If your linker rejects symbols that are simultaneously defined in two
-library files, edit @samp{Makefile} to remove @samp{perror.c} from the
-library. This file contains a version of @cite{perror(3)} which calls
-@code{com_err} instead of calling @code{write} directly.
-
-@end itemize
-
-As I do not have access to non-BSD systems, there are probably
-bugs present that may interfere with building or using this package on
-other systems. If they are reported to me, they can probably be fixed for
-the next version.
-
@node Bug Reports, Acknowledgements, Building and Installation, Top
-@section Bug Reports
+@chapter Bug Reports
The principal author of this library is: Ken
Raeburn, @t{raeburn@@MIT.EDU}.
@node Acknowledgements, , Bug Reports, Top
-@section Acknowledgements
+@chapter Acknowledgements
I would like to thank: Bill Sommerfeld, for his help with some of this
documentation, and catching some of the bugs the first time around;
originally written; and everyone I've talked into --- I mean, asked to read
this document and the ``man'' pages.
+@contents
@bye