FreeBSD Manual Pages
COMPILE_ET(1) BSD General Commands Manual COMPILE_ET(1) NAME compile_et -- error table compiler SYNOPSIS compile_et file DESCRIPTION Compile_et converts a table listing error-code names and associated mes- sages into a C source file suitable for use with the com_err(3) library. The source file name must end with a suffix of ``.et''; the file consists of a declaration supplying the name (up to four characters long) of the error-code table: error_table name followed by up to 256 entries of the form: error_code name, "string" and a final end to indicate the end of the table. The name of the table is used to construct the name of a subroutine initialize_XXXX_error_table which must be called in order for the com_err(3) library to recognize the error table. The various error codes defined are assigned sequentially increasing num- bers (starting with a large number computed as a hash function of the name of the table); thus for compatibility it is suggested that new codes be added only to the end of an existing table, and that no codes be re- moved from tables. The names defined in the table are placed into a C header file with pre- processor directives defining them as integer constants of up to 32 bits in magnitude. A C source file is also generated which should be compiled and linked with the object files which reference these error codes; it contains the text of the messages and the initialization subroutine. Both C files have names derived from that of the original source file, with the ``.et'' suffix replaced by ``.c'' and ``.h''. A ``#'' in the source file is treated as a comment character, and all re- maining text to the end of the source line will be ignored. SEE ALSO yacc(1), com_err(3) Ken Raeburn, A Common Error Description Library for UNIX. BUGS Since compile_et uses a very simple parser based on yacc(1), its error recovery leaves much to be desired. BSD November 22, 1988 BSD
NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | BUGS
Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=compile_et&sektion=1&manpath=FreeBSD+12.0-RELEASE+and+Ports>