51 #include "kmp_i18n_id.inc"
68 void __kmp_i18n_catopen();
69 void __kmp_i18n_catclose();
70 char const * __kmp_i18n_catgets( kmp_i18n_id_t
id );
72 #define KMP_I18N_STR( id ) __kmp_i18n_catgets( kmp_i18n_str_ ## id )
135 typedef enum kmp_msg_type kmp_msg_type_t;
143 typedef struct kmp_msg kmp_msg_t;
146 extern kmp_msg_t __kmp_msg_empty;
147 extern kmp_msg_t __kmp_msg_null;
152 kmp_msg_t __kmp_msg_format( kmp_i18n_id_t
id, ... );
153 kmp_msg_t __kmp_msg_error_code(
int code );
154 kmp_msg_t __kmp_msg_error_mesg(
char const * mesg );
157 #define KMP_MSG( ... ) __kmp_msg_format( kmp_i18n_msg_ ## __VA_ARGS__ )
158 #define KMP_HNT( ... ) __kmp_msg_format( kmp_i18n_hnt_ ## __VA_ARGS__ )
159 #define KMP_SYSERRCODE( code ) __kmp_msg_error_code( code )
160 #define KMP_SYSERRMESG( mesg ) __kmp_msg_error_mesg( mesg )
161 #define KMP_ERR KMP_SYSERRCODE
164 enum kmp_msg_severity {
169 typedef enum kmp_msg_severity kmp_msg_severity_t;
173 void __kmp_msg( kmp_msg_severity_t severity, kmp_msg_t message, ... );
176 #define KMP_INFORM( ... ) __kmp_msg( kmp_ms_inform, KMP_MSG( __VA_ARGS__ ), __kmp_msg_null )
177 #define KMP_WARNING( ... ) __kmp_msg( kmp_ms_warning, KMP_MSG( __VA_ARGS__ ), __kmp_msg_null )
178 #define KMP_FATAL( ... ) __kmp_msg( kmp_ms_fatal, KMP_MSG( __VA_ARGS__ ), __kmp_msg_null )
179 #define KMP_SYSFAIL( func, error ) \
182 KMP_MSG( FunctionError, func ), \
183 KMP_SYSERRCODE( error ), \
188 #define KMP_CHECK_SYSFAIL( func, error ) \
191 KMP_SYSFAIL( func, error ); \
196 #define KMP_CHECK_SYSFAIL_ERRNO( func, status ) \
198 if ( status != 0 ) { \
200 KMP_SYSFAIL( func, error ); \
205 void __kmp_i18n_dump_catalog( kmp_str_buf_t & buffer );
210 #endif // __cplusplus