/*
 * 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/pl/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'


/* 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_al_tag_defined_twice(A)\
	MSG_GEN (47, chk_5 (A))

#define	MSG_bad_sn_value(A)\
	MSG_GEN (48, chk_1 (A))

#define	MSG_cant_open_include(A)\
	MSG_GEN (49, chk_5 (A))

#define	MSG_default_jump()\
	MSG_GEN (50)

#define	MSG_dont_know_shape(A)\
	MSG_GEN (51, chk_5 (A))

#define	MSG_dont_know_unit_type()\
	MSG_GEN (52)

#define	MSG_dont_understand_test()\
	MSG_GEN (53)

#define	MSG_field_name_unique(A)\
	MSG_GEN (54, chk_5 (A))

#define	MSG_ident_already_declared(A)\
	MSG_GEN (55, chk_5 (A))

#define	MSG_ident_not_declared(A)\
	MSG_GEN (56, chk_5 (A))

#define	MSG_label_not_declared(A)\
	MSG_GEN (57, chk_5 (A))

#define	MSG_label_not_delcared(A)\
	MSG_GEN (58, chk_5 (A))

#define	MSG_label_set_twice(A)\
	MSG_GEN (59, chk_5 (A))

#define	MSG_memory_alloc_error()\
	MSG_GEN (60)

#define	MSG_no_declaration_shape(A)\
	MSG_GEN (61, chk_5 (A))

#define	MSG_not_a_comparison(A)\
	MSG_GEN (62, chk_5 (A))

#define	MSG_not_a_logop(A)\
	MSG_GEN (63, chk_5 (A))

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

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

#define	MSG_not_an_arithop(A)\
	MSG_GEN (66, chk_5 (A))

#define	MSG_not_first_class_sort()\
	MSG_GEN (67)

#define	MSG_not_legal_sort()\
	MSG_GEN (68)

#define	MSG_not_sort_internal_error()\
	MSG_GEN (69)

#define	MSG_only_plus_or_minus()\
	MSG_GEN (70)

#define	MSG_shouldnt_happen()\
	MSG_GEN (71)

#define	MSG_sort_error(A, B)\
	MSG_GEN (72, chk_1 (A), chk_1 (B))

#define	MSG_sort_list_error(A, B)\
	MSG_GEN (73, chk_1 (A), chk_1 (B))

#define	MSG_struct_unique(A)\
	MSG_GEN (74, chk_5 (A))

#define	MSG_syntax_error_noparam()\
	MSG_GEN (75)

#define	MSG_syntax_error(A)\
	MSG_GEN (76, chk_5 (A))

#define	MSG_tag_declared_as_variable(A)\
	MSG_GEN (77, chk_5 (A))

#define	MSG_tag_declared_non_variable(A)\
	MSG_GEN (78, chk_5 (A))

#define	MSG_tag_declared_twice(A)\
	MSG_GEN (79, chk_5 (A))

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

#define	MSG_token_declared_twice(A)\
	MSG_GEN (81, chk_5 (A))

#define	MSG_token_defined_twice(A)\
	MSG_GEN (82, chk_5 (A))

#define	MSG_token_parameter_name_unique(A)\
	MSG_GEN (83, chk_5 (A))

#define	MSG_token_pars_require_parameter()\
	MSG_GEN (84)

#define	MSG_token_pars_req()\
	MSG_GEN (85)

#define	MSG_two_declaration_shapes(A)\
	MSG_GEN (86, chk_5 (A))

#define	MSG_unmatched_quote()\
	MSG_GEN (87)

#define	MSG_assertion_failed(A)\
	MSG_GEN (88, chk_5 (A))

#define	MSG_usage()\
	MSG_GEN (89)

#define	MSG_description_of_diag()\
	MSG_GEN (90)

#define	MSG_description_of_include()\
	MSG_GEN (91)


#endif
#endif


syntax highlighted by Code2HTML, v. 0.9.1