1 /* 2 * Error functions 3 * 4 * Copyright (C) 2009-2018, Joachim Metz <joachim.metz@gmail.com> 5 * 6 * Refer to AUTHORS for acknowledgements. 7 * 8 * This software is free software: you can redistribute it and/or modify 9 * it under the terms of the GNU Lesser General Public License as published by 10 * the Free Software Foundation, either version 3 of the License, or 11 * (at your option) any later version. 12 * 13 * This software is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public License 19 * along with this software. If not, see <http://www.gnu.org/licenses/>. 20 */ 21 22 #if !defined( _LIBFDATETIME_INTERNAL_ERROR_H ) 23 #define _LIBFDATETIME_INTERNAL_ERROR_H 24 25 #include <common.h> 26 #include <file_stream.h> 27 #include <types.h> 28 29 #if !defined( HAVE_LOCAL_LIBFDATETIME ) 30 #include <libfdatetime/error.h> 31 #endif 32 33 #include "libfdatetime_extern.h" 34 35 #if defined( __cplusplus ) 36 extern "C" { 37 #endif 38 39 #if !defined( HAVE_LOCAL_LIBFDATETIME ) 40 41 LIBFDATETIME_EXTERN \ 42 void libfdatetime_error_free( 43 libfdatetime_error_t **error ); 44 45 LIBFDATETIME_EXTERN \ 46 int libfdatetime_error_fprint( 47 libfdatetime_error_t *error, 48 FILE *stream ); 49 50 LIBFDATETIME_EXTERN \ 51 int libfdatetime_error_sprint( 52 libfdatetime_error_t *error, 53 char *string, 54 size_t size ); 55 56 LIBFDATETIME_EXTERN \ 57 int libfdatetime_error_backtrace_fprint( 58 libfdatetime_error_t *error, 59 FILE *stream ); 60 61 LIBFDATETIME_EXTERN \ 62 int libfdatetime_error_backtrace_sprint( 63 libfdatetime_error_t *error, 64 char *string, 65 size_t size ); 66 67 #endif /* !defined( HAVE_LOCAL_LIBFDATETIME ) */ 68 69 #if defined( __cplusplus ) 70 } 71 #endif 72 73 #endif /* !defined( _LIBFDATETIME_INTERNAL_ERROR_H ) */ 74 75