49 #include "kmp_i18n_id.inc"
66 void __kmp_i18n_catopen();
67 void __kmp_i18n_catclose();
68 char const * __kmp_i18n_catgets( kmp_i18n_id_t
id );
70 #define KMP_I18N_STR( id ) __kmp_i18n_catgets( kmp_i18n_str_ ## id )
133 typedef enum kmp_msg_type kmp_msg_type_t;
141 typedef struct kmp_msg kmp_msg_t;
144 extern kmp_msg_t __kmp_msg_empty;
145 extern kmp_msg_t __kmp_msg_null;
150 kmp_msg_t __kmp_msg_format( kmp_i18n_id_t
id, ... );
151 kmp_msg_t __kmp_msg_error_code(
int code );
152 kmp_msg_t __kmp_msg_error_mesg(
char const * mesg );
155 #define KMP_MSG( ... ) __kmp_msg_format( kmp_i18n_msg_ ## __VA_ARGS__ )
156 #define KMP_HNT( ... ) __kmp_msg_format( kmp_i18n_hnt_ ## __VA_ARGS__ )
157 #define KMP_SYSERRCODE( code ) __kmp_msg_error_code( code )
158 #define KMP_SYSERRMESG( mesg ) __kmp_msg_error_mesg( mesg )
159 #define KMP_ERR KMP_SYSERRCODE
162 enum kmp_msg_severity {
167 typedef enum kmp_msg_severity kmp_msg_severity_t;
171 void __kmp_msg( kmp_msg_severity_t severity, kmp_msg_t message, ... );
174 #define KMP_INFORM( ... ) __kmp_msg( kmp_ms_inform, KMP_MSG( __VA_ARGS__ ), __kmp_msg_null )
175 #define KMP_WARNING( ... ) __kmp_msg( kmp_ms_warning, KMP_MSG( __VA_ARGS__ ), __kmp_msg_null )
176 #define KMP_FATAL( ... ) __kmp_msg( kmp_ms_fatal, KMP_MSG( __VA_ARGS__ ), __kmp_msg_null )
177 #define KMP_SYSFAIL( func, error ) \
180 KMP_MSG( FunctionError, func ), \
181 KMP_SYSERRCODE( error ), \
186 #define KMP_CHECK_SYSFAIL( func, error ) \
189 KMP_SYSFAIL( func, error ); \
194 #define KMP_CHECK_SYSFAIL_ERRNO( func, status ) \
196 if ( status != 0 ) { \
198 KMP_SYSFAIL( func, error ); \
203 void __kmp_i18n_dump_catalog( kmp_str_buf_t * buffer );
208 #endif // __cplusplus