src/SDL_error_c.h
author Sam Lantinga <slouken@libsdl.org>
Fri, 22 Sep 2017 11:25:52 -0700
changeset 11525 8df7a59b5528
parent 10737 3406a0f8b041
child 11811 5d94cb6b24d3
permissions -rw-r--r--
Fixed Mac OS X build
slouken@0
     1
/*
slouken@5535
     2
  Simple DirectMedia Layer
slouken@10737
     3
  Copyright (C) 1997-2017 Sam Lantinga <slouken@libsdl.org>
slouken@0
     4
slouken@5535
     5
  This software is provided 'as-is', without any express or implied
slouken@5535
     6
  warranty.  In no event will the authors be held liable for any damages
slouken@5535
     7
  arising from the use of this software.
slouken@0
     8
slouken@5535
     9
  Permission is granted to anyone to use this software for any purpose,
slouken@5535
    10
  including commercial applications, and to alter it and redistribute it
slouken@5535
    11
  freely, subject to the following restrictions:
slouken@0
    12
slouken@5535
    13
  1. The origin of this software must not be misrepresented; you must not
slouken@5535
    14
     claim that you wrote the original software. If you use this software
slouken@5535
    15
     in a product, an acknowledgment in the product documentation would be
slouken@5535
    16
     appreciated but is not required.
slouken@5535
    17
  2. Altered source versions must be plainly marked as such, and must not be
slouken@5535
    18
     misrepresented as being the original software.
slouken@5535
    19
  3. This notice may not be removed or altered from any source distribution.
slouken@0
    20
*/
icculus@8093
    21
#include "./SDL_internal.h"
slouken@0
    22
slouken@0
    23
/* This file defines a structure that carries language-independent
slouken@0
    24
   error messages
slouken@0
    25
*/
slouken@0
    26
slouken@10638
    27
#ifndef SDL_error_c_h_
slouken@10638
    28
#define SDL_error_c_h_
slouken@0
    29
slouken@7191
    30
#define ERR_MAX_STRLEN  128
slouken@7191
    31
#define ERR_MAX_ARGS    5
slouken@0
    32
slouken@1895
    33
typedef struct SDL_error
slouken@1895
    34
{
slouken@1895
    35
    /* This is a numeric value corresponding to the current error */
slouken@1895
    36
    int error;
slouken@0
    37
slouken@1895
    38
    /* This is a key used to index into a language hashtable containing
slouken@1895
    39
       internationalized versions of the SDL error messages.  If the key
slouken@1895
    40
       is not in the hashtable, or no hashtable is available, the key is
slouken@1895
    41
       used directly as an error message format string.
slouken@1895
    42
     */
slouken@1895
    43
    char key[ERR_MAX_STRLEN];
slouken@0
    44
slouken@1895
    45
    /* These are the arguments for the error functions */
slouken@1895
    46
    int argc;
slouken@1895
    47
    union
slouken@1895
    48
    {
slouken@1895
    49
        void *value_ptr;
slouken@1895
    50
#if 0                           /* What is a character anyway?  (UNICODE issues) */
slouken@1895
    51
        unsigned char value_c;
slouken@0
    52
#endif
slouken@1895
    53
        int value_i;
slouken@1895
    54
        double value_f;
slouken@1895
    55
        char buf[ERR_MAX_STRLEN];
slouken@1895
    56
    } args[ERR_MAX_ARGS];
slouken@0
    57
} SDL_error;
slouken@0
    58
slouken@6044
    59
/* Defined in SDL_thread.c */
slouken@6044
    60
extern SDL_error *SDL_GetErrBuf(void);
slouken@6044
    61
slouken@10638
    62
#endif /* SDL_error_c_h_ */
slouken@4472
    63
slouken@1895
    64
/* vi: set ts=4 sw=4 expandtab: */