1 /* 2 SDL - Simple DirectMedia Layer 3 Copyright (C) 1997-2012 Sam Lantinga 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with this library; if not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 19 Sam Lantinga 20 slouken@libsdl.org 21 */ 22 23 /** 24 * @file SDL_error.h 25 * Simple error message routines for SDL 26 */ 27 28 #ifndef _SDL_error_h 29 #define _SDL_error_h 30 31 #include "SDL_stdinc.h" 32 33 #include "begin_code.h" 34 /* Set up for C function definitions, even when using C++ */ 35 #ifdef __cplusplus 36 extern "C" { 37 #endif 38 39 /** 40 * @name Public functions 41 */ 42 /*@{*/ 43 extern DECLSPEC void SDLCALL SDL_SetError(const char *fmt, ...); 44 extern DECLSPEC char * SDLCALL SDL_GetError(void); 45 extern DECLSPEC void SDLCALL SDL_ClearError(void); 46 /*@}*/ 47 48 /** 49 * @name Private functions 50 * @internal Private error message function - used internally 51 */ 52 /*@{*/ 53 #define SDL_OutOfMemory() SDL_Error(SDL_ENOMEM) 54 #define SDL_Unsupported() SDL_Error(SDL_UNSUPPORTED) 55 typedef enum { 56 SDL_ENOMEM, 57 SDL_EFREAD, 58 SDL_EFWRITE, 59 SDL_EFSEEK, 60 SDL_UNSUPPORTED, 61 SDL_LASTERROR 62 } SDL_errorcode; 63 extern DECLSPEC void SDLCALL SDL_Error(SDL_errorcode code); 64 /*@}*/ 65 66 /* Ends C function definitions when using C++ */ 67 #ifdef __cplusplus 68 } 69 #endif 70 #include "close_code.h" 71 72 #endif /* _SDL_error_h */ 73