ReactOS 0.4.16-dev-91-g764881a
int32.h
Go to the documentation of this file.
1/*
2 * COPYRIGHT: GPL - See COPYING in the top level directory
3 * PROJECT: ReactOS Virtual DOS Machine
4 * FILE: subsystems/mvdm/ntvdm/int32.h
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)
8 */
9
10#ifndef _INT32_H_
11#define _INT32_H_
12
13/* INCLUDES *******************************************************************/
14
15#include "cpu/callback.h"
16
17/* DEFINES ********************************************************************/
18
19/* 32-bit Interrupt Identifiers */
20#define EMULATOR_MAX_INT32_NUM 0xFF + 1
21
22
23//
24// WARNING WARNING!!
25// If you're changing the stack indices here, you then need
26// to also fix the Int16To32 handler code in int32.c !!
27//
28
29// Custom variable pushed onto the stack for INT32 interrupts
30#define STACK_INT_NUM 0
31
32// This is the standard stack layout for an interrupt
33#define STACK_IP 1
34#define STACK_CS 2
35#define STACK_FLAGS 3
36
37// To be adjusted with the Int16To32 handler code in int32.c
38#define Int16To32StubSize 17
39
40/* FUNCTIONS ******************************************************************/
41
43
46 IN BYTE IntNumber,
47 IN LPBYTE CallbackCode,
48 IN SIZE_T CallbackSize,
49 OUT PSIZE_T CodeSize OPTIONAL);
50
53 IN BYTE IntNumber,
54 IN EMULATOR_INT32_PROC IntHandler,
55 OUT PSIZE_T CodeSize OPTIONAL);
56
57VOID
59 IN BYTE IntNumber);
60
62
63#endif // _INT32_H_
64
65/* EOF */
#define VOID
Definition: acefi.h:82
ULONG RegisterInt32(IN ULONG FarPtr, IN BYTE IntNumber, IN EMULATOR_INT32_PROC IntHandler, OUT PSIZE_T CodeSize OPTIONAL)
Definition: int32.c:118
VOID InitializeInt32(VOID)
Definition: int32.c:194
ULONG RegisterInt16(IN ULONG FarPtr, IN BYTE IntNumber, IN LPBYTE CallbackCode, IN SIZE_T CallbackSize, OUT PSIZE_T CodeSize OPTIONAL)
Definition: int32.c:100
VOID(WINAPI * EMULATOR_INT32_PROC)(LPWORD Stack)
Definition: int32.h:42
VOID Int32Call(IN PCALLBACK16 Context, IN BYTE IntNumber)
Definition: int32.c:151
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
ULONG_PTR * PSIZE_T
Definition: typedefs.h:80
unsigned char * LPBYTE
Definition: typedefs.h:53
uint16_t * LPWORD
Definition: typedefs.h:56
ULONG_PTR SIZE_T
Definition: typedefs.h:80
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
#define OUT
Definition: typedefs.h:40
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack
Definition: wdfrequest.h:639
#define WINAPI
Definition: msvc.h:6
unsigned char BYTE
Definition: xxhash.c:193