src/SDL_error_c.h
changeset 0 74212992fb08
child 252 e8157fcb3114
equal deleted inserted replaced
-1:000000000000 0:74212992fb08
       
     1 /*
       
     2     SDL - Simple DirectMedia Layer
       
     3     Copyright (C) 1997, 1998, 1999, 2000, 2001  Sam Lantinga
       
     4 
       
     5     This library is free software; you can redistribute it and/or
       
     6     modify it under the terms of the GNU Library General Public
       
     7     License as published by the Free Software Foundation; either
       
     8     version 2 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     Library General Public License for more details.
       
    14 
       
    15     You should have received a copy of the GNU Library General Public
       
    16     License along with this library; if not, write to the Free
       
    17     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
       
    18 
       
    19     Sam Lantinga
       
    20     slouken@devolution.com
       
    21 */
       
    22 
       
    23 #ifdef SAVE_RCSID
       
    24 static char rcsid =
       
    25  "@(#) $Id$";
       
    26 #endif
       
    27 
       
    28 /* This file defines a structure that carries language-independent
       
    29    error messages
       
    30 */
       
    31 
       
    32 #ifndef _SDL_error_c_h
       
    33 #define _SDL_error_c_h
       
    34 
       
    35 #define ERR_MAX_STRLEN	128
       
    36 #define ERR_MAX_ARGS	5
       
    37 
       
    38 typedef struct {
       
    39 	/* This is a numeric value corresponding to the current error */
       
    40 	int error;
       
    41 
       
    42 	/* This is a key used to index into a language hashtable containing
       
    43 	   internationalized versions of the SDL error messages.  If the key
       
    44 	   is not in the hashtable, or no hashtable is available, the key is
       
    45 	   used directly as an error message format string.
       
    46 	*/
       
    47 	unsigned char key[ERR_MAX_STRLEN];
       
    48 
       
    49 	/* These are the arguments for the error functions */
       
    50 	int argc;
       
    51 	union {
       
    52 		void *value_ptr;
       
    53 #if 0	/* What is a character anyway?  (UNICODE issues) */
       
    54 		unsigned char value_c;
       
    55 #endif
       
    56 		int value_i;
       
    57 		double value_f;
       
    58 		unsigned char buf[ERR_MAX_STRLEN];
       
    59 	} args[ERR_MAX_ARGS];
       
    60 } SDL_error;
       
    61 
       
    62 #endif /* _SDL_error_c_h */