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
36extern "C" {
37#endif
38
39/**
40 *  @name Public functions
41 */
42/*@{*/
43extern DECLSPEC void SDLCALL SDL_SetError(const char *fmt, ...);
44extern DECLSPEC char * SDLCALL SDL_GetError(void);
45extern 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)
55typedef enum {
56	SDL_ENOMEM,
57	SDL_EFREAD,
58	SDL_EFWRITE,
59	SDL_EFSEEK,
60	SDL_UNSUPPORTED,
61	SDL_LASTERROR
62} SDL_errorcode;
63extern 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