eh.h revision ee6bcfc59fe3b0230aad85e2ef63d0402b7719b2
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync/*
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * C++ exception handling facility
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync *
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * Copyright 2000 Francois Gouget.
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync *
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * This library is free software; you can redistribute it and/or
e64031e20c39650a7bc902a3e1aba613b9415deevboxsync * modify it under the terms of the GNU Lesser General Public
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * License as published by the Free Software Foundation; either
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * version 2.1 of the License, or (at your option) any later version.
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync *
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * This library is distributed in the hope that it will be useful,
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * but WITHOUT ANY WARRANTY; without even the implied warranty of
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * Lesser General Public License for more details.
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync *
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * You should have received a copy of the GNU Lesser General Public
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * License along with this library; if not, write to the Free Software
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync */
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync/*
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * other than GPL or LGPL is available it will apply instead, Sun elects to use only
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * a choice of LGPL license versions is made available with the language indicating
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * that LGPLv2 or any later version may be used, or where a choice of which version
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync * of the LGPL is applied is otherwise unspecified.
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync */
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync#ifndef __WINE_EH_H
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync#define __WINE_EH_H
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync#include <crtdefs.h>
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync#if !defined(__cplusplus) && !defined(__WINE_MSVCRT_TEST)
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync#error "eh.h is meant only for C++ applications"
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync#endif
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync#include <pshpack8.h>
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsyncstruct _EXCEPTION_POINTERS;
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsynctypedef void (__cdecl *terminate_handler)(void);
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsynctypedef void (__cdecl *terminate_function)(void);
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsynctypedef void (__cdecl *unexpected_handler)(void);
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsynctypedef void (__cdecl *unexpected_function)(void);
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsynctypedef void (__cdecl *_se_translator_function)(unsigned int code, struct _EXCEPTION_POINTERS *info);
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsyncterminate_function __cdecl set_terminate(terminate_function func);
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsyncunexpected_function __cdecl set_unexpected(unexpected_function func);
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsync_se_translator_function __cdecl set_se_translator(_se_translator_function func);
95bbd60a323feec1eaf008a93690364eea86c298vboxsync
95bbd60a323feec1eaf008a93690364eea86c298vboxsyncvoid __cdecl terminate(void);
f0f603c5fba5a342c00101bbaf5fad0bbd44fb55vboxsyncvoid __cdecl unexpected(void);
95bbd60a323feec1eaf008a93690364eea86c298vboxsync
95bbd60a323feec1eaf008a93690364eea86c298vboxsync#include <poppack.h>
95bbd60a323feec1eaf008a93690364eea86c298vboxsync
95bbd60a323feec1eaf008a93690364eea86c298vboxsync#endif /* __WINE_EH_H */
95bbd60a323feec1eaf008a93690364eea86c298vboxsync