]>
Commit | Line | Data |
---|---|---|
7407ac7f BB |
1 | /* |
2 | Simple DirectMedia Layer | |
3 | Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org> | |
4 | ||
5 | This software is provided 'as-is', without any express or implied | |
6 | warranty. In no event will the authors be held liable for any damages | |
7 | arising from the use of this software. | |
8 | ||
9 | Permission is granted to anyone to use this software for any purpose, | |
10 | including commercial applications, and to alter it and redistribute it | |
11 | freely, subject to the following restrictions: | |
12 | ||
13 | 1. The origin of this software must not be misrepresented; you must not | |
14 | claim that you wrote the original software. If you use this software | |
15 | in a product, an acknowledgment in the product documentation would be | |
16 | appreciated but is not required. | |
17 | 2. Altered source versions must be plainly marked as such, and must not be | |
18 | misrepresented as being the original software. | |
19 | 3. This notice may not be removed or altered from any source distribution. | |
20 | */ | |
21 | ||
22 | /** | |
23 | * \file SDL_error.h | |
24 | * | |
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 | /* Public functions */ | |
40 | /* SDL_SetError() unconditionally returns -1. */ | |
41 | extern DECLSPEC int SDLCALL SDL_SetError(const char *fmt, ...); | |
42 | extern DECLSPEC const char *SDLCALL SDL_GetError(void); | |
43 | extern DECLSPEC void SDLCALL SDL_ClearError(void); | |
44 | ||
45 | /** | |
46 | * \name Internal error functions | |
47 | * | |
48 | * \internal | |
49 | * Private error reporting function - used internally. | |
50 | */ | |
51 | /*@{*/ | |
52 | #define SDL_OutOfMemory() SDL_Error(SDL_ENOMEM) | |
53 | #define SDL_Unsupported() SDL_Error(SDL_UNSUPPORTED) | |
54 | #define SDL_InvalidParamError(param) SDL_SetError("Parameter '%s' is invalid", (param)) | |
55 | typedef enum | |
56 | { | |
57 | SDL_ENOMEM, | |
58 | SDL_EFREAD, | |
59 | SDL_EFWRITE, | |
60 | SDL_EFSEEK, | |
61 | SDL_UNSUPPORTED, | |
62 | SDL_LASTERROR | |
63 | } SDL_errorcode; | |
64 | /* SDL_Error() unconditionally returns -1. */ | |
65 | extern DECLSPEC int SDLCALL SDL_Error(SDL_errorcode code); | |
66 | /*@}*//*Internal error functions*/ | |
67 | ||
68 | /* Ends C function definitions when using C++ */ | |
69 | #ifdef __cplusplus | |
70 | } | |
71 | #endif | |
72 | #include "close_code.h" | |
73 | ||
74 | #endif /* _SDL_error_h */ | |
75 | ||
76 | /* vi: set ts=4 sw=4 expandtab: */ |