1*c2c66affSColin Finck/* 2*c2c66affSColin Finck * COPYRIGHT: See COPYING in the top level directory 3*c2c66affSColin Finck * PROJECT: ReactOS CRT 4*c2c66affSColin Finck * FILE: lib/sdk/crt/except/amd64/seh.s 5*c2c66affSColin Finck * PURPOSE: SEH Support for the CRT 6*c2c66affSColin Finck * PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org) 7*c2c66affSColin Finck */ 8*c2c66affSColin Finck 9*c2c66affSColin Finck/* INCLUDES ******************************************************************/ 10*c2c66affSColin Finck 11*c2c66affSColin Finck#include <asm.inc> 12*c2c66affSColin Finck#include <ksamd64.inc> 13*c2c66affSColin Finck 14*c2c66affSColin Finck#define DISPOSITION_DISMISS 0 15*c2c66affSColin Finck#define DISPOSITION_CONTINUE_SEARCH 1 16*c2c66affSColin Finck#define DISPOSITION_COLLIDED_UNWIND 3 17*c2c66affSColin Finck 18*c2c66affSColin Finck/* GLOBALS *******************************************************************/ 19*c2c66affSColin Finck 20*c2c66affSColin FinckPUBLIC _global_unwind2 21*c2c66affSColin FinckPUBLIC _local_unwind2 22*c2c66affSColin FinckPUBLIC _abnormal_termination 23*c2c66affSColin FinckPUBLIC _except_handler2 24*c2c66affSColin FinckPUBLIC _except_handler3 25*c2c66affSColin Finck 26*c2c66affSColin Finck/* CODE **********************************************************************/ 27*c2c66affSColin Finck.code64 28*c2c66affSColin Finck 29*c2c66affSColin FinckFUNC _unwind_handler 30*c2c66affSColin Finck .endprolog 31*c2c66affSColin Finck ret 32*c2c66affSColin FinckENDFUNC 33*c2c66affSColin Finck 34*c2c66affSColin FinckFUNC _global_unwind2 35*c2c66affSColin Finck .endprolog 36*c2c66affSColin Finck ret 37*c2c66affSColin FinckENDFUNC 38*c2c66affSColin Finck 39*c2c66affSColin FinckFUNC _abnormal_termination 40*c2c66affSColin Finck .endprolog 41*c2c66affSColin Finck ret 42*c2c66affSColin FinckENDFUNC 43*c2c66affSColin Finck 44*c2c66affSColin FinckFUNC _local_unwind2 45*c2c66affSColin Finck .endprolog 46*c2c66affSColin Finck ret 47*c2c66affSColin FinckENDFUNC 48*c2c66affSColin Finck 49*c2c66affSColin FinckFUNC _except_handler2 50*c2c66affSColin Finck .endprolog 51*c2c66affSColin Finck ret 52*c2c66affSColin FinckENDFUNC 53*c2c66affSColin Finck 54*c2c66affSColin FinckFUNC _except_handler3 55*c2c66affSColin Finck .endprolog 56*c2c66affSColin Finck ret 57*c2c66affSColin FinckENDFUNC 58*c2c66affSColin Finck 59*c2c66affSColin FinckEND 60