/*
 * Common messages catalogue.
 *
 * It could be extended by defining additional types, usages and entries.
 *
 * $TenDRA: tendra/src/libten/catstd.cat,v 1.3 2004/09/05 03:38:39 bp Exp $
 */

/*
 * AUTOMATICALLY GENERATED BY mkerr.awk FROM /mnt/gmirror/ports/lang/TenDRA/work/tendra/src/libten/catstd.cat
 * AUTOMATICALLY GENERATED BY mkerr.awk FROM /mnt/gmirror/ports/lang/TenDRA/work/tendra/src/tools/tspec/messages.cat
 */

#ifndef MSG_INCLUDED
#define	MSG_INCLUDED


/* Error data structure */

#ifndef MSG_CONST
#define	MSG_CONST
#endif

typedef unsigned MSG_PROPS;

typedef struct {
    MSG_CONST char *name;
    MSG_CONST char *signature;
    int usage;
    MSG_PROPS props;
    MSG_CONST char *key_STD;
} MSG_DATA;

extern MSG_DATA MSG_CATALOG [];
extern MSG_CONST char *MSG_NAME;


/* Error type keys */

#define	MSG_KEY_int	'0'
#define	MSG_KEY_unsigned	'1'
#define	MSG_KEY_long	'2'
#define	MSG_KEY_size_t	'3'
#define	MSG_KEY_char	'4'
#define	MSG_KEY_ccp	'5'
#define	MSG_KEY_hex2_t	'6'
#define	MSG_KEY_hex4_t	'7'
#define	MSG_KEY_hex8_t	'8'
#define	MSG_KEY_pointer_t	'9'
#define	MSG_KEY_esc_char	'A'
#define	MSG_KEY_tdf_stream	'B'


/* Error usage keys */

#ifndef MSG_USE
#define	MSG_SEV_NONE	0
#define	MSG_SEV_INFO	1
#define	MSG_SEV_ASSERT	2
#define	MSG_SEV_DEBUG	3
#define	MSG_SEV_WARNING	4
#define	MSG_SEV_ERROR	5
#define	MSG_SEV_FATAL	6
#define	MSG_SEV_INTERNAL	7
#endif


/* Error property keys */

#ifndef MSG_PROP
#define	MSG_PROP_FATAL	((MSG_PROPS)0x1)
#endif


/* Global variables */

#define	MSG_GLOB_strerror	'a'
#define	MSG_GLOB_iline	'b'
#define	MSG_GLOB_fileline	'c'


/* Error type checking */

#if defined(MSG_CHECK)
extern int chk_0(int);
extern unsigned chk_1(unsigned);
extern long chk_2(long);
extern size_t chk_3(size_t);
extern char chk_4(char);
extern ccp chk_5(ccp);
extern hex2_t chk_6(hex2_t);
extern hex4_t chk_7(hex4_t);
extern hex8_t chk_8(hex8_t);
extern pointer_t chk_9(pointer_t);
extern esc_char chk_A(esc_char);
extern tdf_stream chk_B(tdf_stream);
#else
#define	chk_0(A)	(A)
#define	chk_1(A)	(A)
#define	chk_2(A)	(A)
#define	chk_3(A)	(A)
#define	chk_4(A)	(A)
#define	chk_5(A)	(A)
#define	chk_6(A)	(A)
#define	chk_7(A)	(A)
#define	chk_8(A)	(A)
#define	chk_9(A)	(A)
#define	chk_A(A)	(A)
#define	chk_B(A)	(A)
#endif


/* Error message macros */

#ifdef MSG_GEN

#define	MSG__prefix_info()\
	MSG_GEN (0)

#define	MSG__prefix_debug()\
	MSG_GEN (1)

#define	MSG__prefix_warning()\
	MSG_GEN (2)

#define	MSG__prefix_error()\
	MSG_GEN (3)

#define	MSG__prefix_fatal()\
	MSG_GEN (4)

#define	MSG__prefix_internal()\
	MSG_GEN (5)

#define	MSG__prefix_assert()\
	MSG_GEN (6)

#define	MSG_fmm_malloc_failed(A)\
	MSG_GEN (7, chk_3 (A))

#define	MSG_fmm_frt_still_allocated(A, B)\
	MSG_GEN (8, chk_3 (A), chk_5 (B))

#define	MSG_fmm_data_modified(A, B, C, D, E, F)\
	MSG_GEN (9, chk_9 (A), chk_5 (B), chk_2 (C), chk_2 (D), chk_8 (E), chk_8 (F))

#define	MSG_fmm_wrong_bucket()\
	MSG_GEN (10)

#define	MSG_fmm_lost_data()\
	MSG_GEN (11)

#define	MSG_fmm_free_modified(A)\
	MSG_GEN (12, chk_9 (A))

#define	MSG_fmm_multiple_free(A)\
	MSG_GEN (13, chk_9 (A))

#define	MSG_caught_signal(A, B)\
	MSG_GEN (14, chk_0 (A), chk_5 (B))

#define	MSG_removed_core()\
	MSG_GEN (15)

#define	MSG_tenapp_version(A, B, C)\
	MSG_GEN (16, chk_5 (A), chk_5 (B), chk_5 (C))

#define	MSG_crown_copyright()\
	MSG_GEN (17)

#define	MSG_cant_open_input_file(A)\
	MSG_GEN (18, chk_5 (A))

#define	MSG_cant_open_output_file(A)\
	MSG_GEN (19, chk_5 (A))

#define	MSG_file_read_error(A)\
	MSG_GEN (20, chk_5 (A))

#define	MSG_file_write_error(A)\
	MSG_GEN (21, chk_5 (A))

#define	MSG_ostream_write_error(A)\
	MSG_GEN (22, chk_5 (A))

#define	MSG_getopt_unknown_option(A)\
	MSG_GEN (23, chk_5 (A))

#define	MSG_getopt_not_enough_arguments()\
	MSG_GEN (24)

#define	MSG_getopt_too_many_arguments()\
	MSG_GEN (25)

#define	MSG_arg_parse_missing_argument(A)\
	MSG_GEN (26, chk_5 (A))

#define	MSG_arg_parse_unknown_option(A)\
	MSG_GEN (27, chk_5 (A))

#define	MSG_arg_parse_missing_short_arg(A, B)\
	MSG_GEN (28, chk_5 (A), chk_5 (B))

#define	MSG_arg_parse_ambiguous_option(A)\
	MSG_GEN (29, chk_5 (A))

#define	MSG_arg_parse_unknown_short_opt(A, B)\
	MSG_GEN (30, chk_5 (A), chk_5 (B))

#define	MSG_description_of_help()\
	MSG_GEN (31)

#define	MSG_description_of_version()\
	MSG_GEN (32)

#define	MSG_fatal_tdf_stream_read_error(A)\
	MSG_GEN (33, chk_B (A))

#define	MSG_fatal_tdf_stream_seek_error(A)\
	MSG_GEN (34, chk_B (A))

#define	MSG_fatal_tdf_cant_encode_0_as_extended_value(A)\
	MSG_GEN (35, chk_B (A))

#define	MSG_fatal_tdf_integer_too_big(A, B)\
	MSG_GEN (36, chk_B (A), chk_2 (B))

#define	MSG_tdf_integer_too_long(A, B)\
	MSG_GEN (37, chk_B (A), chk_2 (B))

#define	MSG_fatal_tdf_string_element_too_big(A, B)\
	MSG_GEN (38, chk_B (A), chk_0 (B))

#define	MSG_fatal_tdf_expect_eof(A)\
	MSG_GEN (39, chk_B (A))

#define	MSG_fatal_tdf_unexpected_eof(A)\
	MSG_GEN (40, chk_B (A))

#define	MSG_fatal_tdf_bad_magic(A, B, C)\
	MSG_GEN (41, chk_B (A), chk_5 (B), chk_5 (C))

#define	MSG_fatal_tdf_bad_version(A, B)\
	MSG_GEN (42, chk_B (A), chk_1 (B))

#define	MSG_fatal_tdf_version_mismatch(A, B, C)\
	MSG_GEN (43, chk_B (A), chk_1 (B), chk_1 (C))

#define	MSG_int_tdf_extend_unaligned(A, B)\
	MSG_GEN (44, chk_B (A), chk_2 (B))

#define	MSG_int_tdf_unaligned_access(A, B)\
	MSG_GEN (45, chk_B (A), chk_5 (B))

#define	MSG_debug_tdf_version(A, B, C)\
	MSG_GEN (46, chk_B (A), chk_1 (B), chk_1 (C))

#define	MSG_name_already_defined_at(A, B, C, D)\
	MSG_GEN (47, chk_5 (A), chk_5 (B), chk_5 (C), chk_1 (D))

#define	MSG_name_already_defined(A, B)\
	MSG_GEN (48, chk_5 (A), chk_5 (B))

#define	MSG_unknown_type_identifier(A)\
	MSG_GEN (49, chk_0 (A))

#define	MSG_unknown_object_type(A)\
	MSG_GEN (50, chk_0 (A))

#define	MSG_identifier_too_long()\
	MSG_GEN (51)

#define	MSG_unknown_command(A)\
	MSG_GEN (52, chk_5 (A))

#define	MSG_number_too_long()\
	MSG_GEN (53)

#define	MSG_new_line_in_string()\
	MSG_GEN (54)

#define	MSG_string_too_long()\
	MSG_GEN (55)

#define	MSG_insert_too_long()\
	MSG_GEN (56)

#define	MSG_end_of_file_in_quoted_text()\
	MSG_GEN (57)

#define	MSG_end_of_file_in_comment()\
	MSG_GEN (58)

#define	MSG_comment_too_long()\
	MSG_GEN (59)

#define	MSG_string_expected()\
	MSG_GEN (60)

#define	MSG_close_round_expected()\
	MSG_GEN (61)

#define	MSG_illegally_bracketed_string()\
	MSG_GEN (62)

#define	MSG_semicolon_or_open_round_expected()\
	MSG_GEN (63)

#define	MSG_recursive_inclusion(A)\
	MSG_GEN (64, chk_5 (A))

#define	MSG_set_not_found(A)\
	MSG_GEN (65, chk_5 (A))

#define	MSG_set_not_found_no_file(A, B)\
	MSG_GEN (66, chk_5 (A), chk_5 (B))

#define	MSG_assign_expected()\
	MSG_GEN (67)

#define	MSG_open_hbrace_expected()\
	MSG_GEN (68)

#define	MSG_cant_find_end_of_subset(A)\
	MSG_GEN (69, chk_5 (A))

#define	MSG_semicolon_expected()\
	MSG_GEN (70)

#define	MSG_set_already_defined_at(A, B)\
	MSG_GEN (71, chk_5 (A), chk_0 (B))

#define	MSG_pset_directive_in_preprocessor()\
	MSG_GEN (72)

#define	MSG_pelse_without_pif()\
	MSG_GEN (73)

#define	MSG_duplicate_pelse()\
	MSG_GEN (74)

#define	MSG_pendif_without_pif()\
	MSG_GEN (75)

#define	MSG_unmatched_close_hbrace()\
	MSG_GEN (76)

#define	MSG_bracket_imbalance_of(A)\
	MSG_GEN (77, chk_0 (A))

#define	MSG_pif_without_pendif()\
	MSG_GEN (78)

#define	MSG_set_not_found_no_subset(A, B)\
	MSG_GEN (79, chk_5 (A), chk_5 (B))

#define	MSG_separate_compilation_failed(A)\
	MSG_GEN (80, chk_5 (A))

#define	MSG_cant_open_temporary_file()\
	MSG_GEN (81)

#define	MSG_errors_in_preprocessor_phase(A)\
	MSG_GEN (82, chk_0 (A))

#define	MSG_errors_in_separate_compilation(A)\
	MSG_GEN (83, chk_0 (A))

#define	MSG_errors_in_analyser_phase(A)\
	MSG_GEN (84, chk_0 (A))

#define	MSG_duplicate_type_specifier()\
	MSG_GEN (85)

#define	MSG_duplicate_type_qualifier()\
	MSG_GEN (86)

#define	MSG_constant_cant_be_lvalue()\
	MSG_GEN (87)

#define	MSG_empty_parameter_list()\
	MSG_GEN (88)

#define	MSG_undefined_nat(A)\
	MSG_GEN (89, chk_5 (A))

#define	MSG_not_a_nat(A)\
	MSG_GEN (90, chk_5 (A))

#define	MSG_non_integral_promotion_type()\
	MSG_GEN (91)

#define	MSG_illegal_field_type(A)\
	MSG_GEN (92, chk_5 (A))

#define	MSG_redefinition_of_type(A)\
	MSG_GEN (93, chk_5 (A))

#define	MSG_empty_struct_union_definition()\
	MSG_GEN (94)

#define	MSG_syntax_error()\
	MSG_GEN (95)

#define	MSG_invalid_type_specifier()\
	MSG_GEN (96)

#define	MSG_unknown_special_type(A)\
	MSG_GEN (97, chk_5 (A))

#define	MSG_type_not_defined(A, B)\
	MSG_GEN (98, chk_5 (A), chk_5 (B))

#define	MSG_type_used_inconsistently(A, B, C, D)\
	MSG_GEN (99, chk_5 (A), chk_5 (B), chk_5 (C), chk_5 (D))

#define	MSG_type_void_is_incomplete()\
	MSG_GEN (100)

#define	MSG_incomplete_array_type()\
	MSG_GEN (101)

#define	MSG_function_cant_return_an_array()\
	MSG_GEN (102)

#define	MSG_non_integral_bitfield_type()\
	MSG_GEN (103)

#define	MSG_object_type_expected()\
	MSG_GEN (104)

#define	MSG_function_type_expected()\
	MSG_GEN (105)

#define	MSG_illegal_directory(A)\
	MSG_GEN (106, chk_5 (A))

#define	MSG_cant_create_directory(A)\
	MSG_GEN (107, chk_5 (A))

#define	MSG_path_component_too_long(A, B)\
	MSG_GEN (108, chk_5 (A), chk_0 (B))

#define	MSG_unknown_string_variable(A)\
	MSG_GEN (109, chk_5 (A))

#define	MSG_unknown_integer_variable(A)\
	MSG_GEN (110, chk_5 (A))

#define	MSG_usage()\
	MSG_GEN (111)

#define	MSG_description_of_allow_longlong()\
	MSG_GEN (112)

#define	MSG_description_of_atonce()\
	MSG_GEN (113)

#define	MSG_description_of_check_only()\
	MSG_GEN (114)

#define	MSG_description_of_docindex()\
	MSG_GEN (115)

#define	MSG_description_of_force_output()\
	MSG_GEN (116)

#define	MSG_description_of_include()\
	MSG_GEN (117)

#define	MSG_description_of_local_input()\
	MSG_GEN (118)

#define	MSG_description_of_machindex()\
	MSG_GEN (119)

#define	MSG_description_of_nowarns()\
	MSG_GEN (120)

#define	MSG_description_of_outidir()\
	MSG_GEN (121)

#define	MSG_description_of_outsdir()\
	MSG_GEN (122)

#define	MSG_description_of_preprocess()\
	MSG_GEN (123)

#define	MSG_description_of_preproc_input()\
	MSG_GEN (124)

#define	MSG_description_of_progtstamp()\
	MSG_GEN (125)

#define	MSG_description_of_restrict_depth()\
	MSG_GEN (126)

#define	MSG_description_of_restrict_use()\
	MSG_GEN (127)

#define	MSG_description_of_separate()\
	MSG_GEN (128)

#define	MSG_description_of_unique_names()\
	MSG_GEN (129)

#define	MSG_description_of_verbose()\
	MSG_GEN (130)


#endif
#endif


syntax highlighted by Code2HTML, v. 0.9.1