30 #include "kmp_i18n_id.inc"
47 void __kmp_i18n_catopen();
48 void __kmp_i18n_catclose();
49 char const * __kmp_i18n_catgets( kmp_i18n_id_t
id );
51 #define KMP_I18N_STR( id ) __kmp_i18n_catgets( kmp_i18n_str_ ## id )
114 typedef enum kmp_msg_type kmp_msg_type_t;
122 typedef struct kmp_msg kmp_msg_t;
125 extern kmp_msg_t __kmp_msg_empty;
126 extern kmp_msg_t __kmp_msg_null;
131 kmp_msg_t __kmp_msg_format( kmp_i18n_id_t
id, ... );
132 kmp_msg_t __kmp_msg_error_code(
int code );
133 kmp_msg_t __kmp_msg_error_mesg(
char const * mesg );
136 #define KMP_MSG( ... ) __kmp_msg_format( kmp_i18n_msg_ ## __VA_ARGS__ )
137 #define KMP_HNT( ... ) __kmp_msg_format( kmp_i18n_hnt_ ## __VA_ARGS__ )
138 #define KMP_SYSERRCODE( code ) __kmp_msg_error_code( code )
139 #define KMP_SYSERRMESG( mesg ) __kmp_msg_error_mesg( mesg )
140 #define KMP_ERR KMP_SYSERRCODE
143 enum kmp_msg_severity {
148 typedef enum kmp_msg_severity kmp_msg_severity_t;
152 void __kmp_msg( kmp_msg_severity_t severity, kmp_msg_t message, ... );
155 #define KMP_INFORM( ... ) __kmp_msg( kmp_ms_inform, KMP_MSG( __VA_ARGS__ ), __kmp_msg_null )
156 #define KMP_WARNING( ... ) __kmp_msg( kmp_ms_warning, KMP_MSG( __VA_ARGS__ ), __kmp_msg_null )
157 #define KMP_FATAL( ... ) __kmp_msg( kmp_ms_fatal, KMP_MSG( __VA_ARGS__ ), __kmp_msg_null )
158 #define KMP_SYSFAIL( func, error ) \
161 KMP_MSG( FunctionError, func ), \
162 KMP_SYSERRCODE( error ), \
167 #define KMP_CHECK_SYSFAIL( func, error ) \
170 KMP_SYSFAIL( func, error ); \
175 #define KMP_CHECK_SYSFAIL_ERRNO( func, status ) \
177 if ( status != 0 ) { \
179 KMP_SYSFAIL( func, error ); \
184 void __kmp_i18n_dump_catalog( kmp_str_buf_t * buffer );
189 #endif // __cplusplus