2 * COPYRIGHT: GPL - See COPYING in the top level directory
3 * PROJECT: ReactOS Virtual DOS Machine
5 * PURPOSE: 32-bit Interrupt Handlers
6 * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
7 * Hermes Belusca-Maito (hermes.belusca@sfr.fr)
13 /* INCLUDES *******************************************************************/
15 #include "cpu/callback.h"
17 /* DEFINES ********************************************************************/
19 /* 32-bit Interrupt Identifiers */
20 #define EMULATOR_MAX_INT32_NUM 0xFF + 1
25 // If you're changing the stack indices here, you then need
26 // to also fix the Int16To32 handler code in int32.c !!
29 // Custom variable pushed onto the stack for INT32 interrupts
30 #define STACK_INT_NUM 0
32 // This is the standard stack layout for an interrupt
37 extern const ULONG Int16To32StubSize
;
39 /* FUNCTIONS ******************************************************************/
41 typedef VOID (WINAPI
*EMULATOR_INT32_PROC
)(LPWORD Stack
);
44 RegisterInt16(IN ULONG FarPtr
,
46 IN LPBYTE CallbackCode
,
47 IN SIZE_T CallbackSize
,
48 OUT PSIZE_T CodeSize OPTIONAL
);
51 RegisterInt32(IN ULONG FarPtr
,
53 IN EMULATOR_INT32_PROC IntHandler
,
54 OUT PSIZE_T CodeSize OPTIONAL
);
57 Int32Call(IN PCALLBACK16 Context
,
60 VOID
InitializeInt32(VOID
);