| terror.h - vaccinewars - be a doctor and try to vaccinate the world | |
| git clone git://src.adamsgaard.dk/vaccinewars | |
| Log | |
| Files | |
| Refs | |
| README | |
| LICENSE | |
| --- | |
| terror.h (2717B) | |
| --- | |
| 1 /************************************************************************ | |
| 2 * error.h Header file for dopewars error-handling routines * | |
| 3 * Copyright (C) 1998-2021 Ben Webb * | |
| 4 * Email: [email protected] * | |
| 5 * WWW: https://dopewars.sourceforge.io/ * | |
| 6 * * | |
| 7 * This program is free software; you can redistribute it and/or * | |
| 8 * modify it under the terms of the GNU General Public License * | |
| 9 * as published by the Free Software Foundation; either version 2 * | |
| 10 * of the License, or (at your option) any later version. * | |
| 11 * * | |
| 12 * This program is distributed in the hope that it will be useful, * | |
| 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of * | |
| 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * | |
| 15 * GNU General Public License for more details. * | |
| 16 * * | |
| 17 * You should have received a copy of the GNU General Public License * | |
| 18 * along with this program; if not, write to the Free Software * | |
| 19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, * | |
| 20 * MA 02111-1307, USA. * | |
| 21 ***********************************************************************… | |
| 22 | |
| 23 #ifndef __DP_ERROR_H__ | |
| 24 #define __DP_ERROR_H__ | |
| 25 | |
| 26 #ifdef HAVE_CONFIG_H | |
| 27 #include <config.h> | |
| 28 #endif | |
| 29 | |
| 30 #include <glib.h> | |
| 31 | |
| 32 struct _LastError; | |
| 33 typedef struct _ErrorType { | |
| 34 void (*AppendErrorString) (GString *str, struct _LastError *error); | |
| 35 void (*FreeErrorData) (struct _LastError *error); | |
| 36 } ErrorType; | |
| 37 | |
| 38 typedef struct _LastError { | |
| 39 gint code; | |
| 40 ErrorType *type; | |
| 41 gpointer data; | |
| 42 } LastError; | |
| 43 | |
| 44 extern ErrorType *ET_CUSTOM, *ET_ERRNO; | |
| 45 | |
| 46 #ifdef CYGWIN | |
| 47 extern ErrorType *ET_WIN32, *ET_WINSOCK; | |
| 48 #else | |
| 49 extern ErrorType *ET_HERRNO; | |
| 50 #endif | |
| 51 | |
| 52 typedef enum { | |
| 53 E_FULLBUF | |
| 54 } CustomErrorCode; | |
| 55 | |
| 56 typedef struct _ErrTable { | |
| 57 gint code; | |
| 58 gchar *string; | |
| 59 } ErrTable; | |
| 60 | |
| 61 void WantUTF8Errors(gboolean want); | |
| 62 gchar *ErrStrFromErrno(int errcode); | |
| 63 void FreeError(LastError *error); | |
| 64 LastError *NewError(ErrorType *type, gint code, gpointer data); | |
| 65 void SetError(LastError **error, ErrorType *type, gint code, | |
| 66 gpointer data); | |
| 67 void LookupErrorCode(GString *str, gint code, ErrTable *table, | |
| 68 gchar *fallbackstr); | |
| 69 void g_string_assign_error(GString *str, LastError *error); | |
| 70 void g_string_append_error(GString *str, LastError *error); | |
| 71 | |
| 72 #endif /* __DP_ERROR_H__ */ |