[NTVDM]
[reactos.git] / subsystems / ntvdm / bop.h
index 61a45eb..12ebf27 100644 (file)
@@ -7,10 +7,33 @@
  *                  Hermes Belusca-Maito (hermes.belusca@sfr.fr)
  */
 
-typedef VOID (WINAPI *EMULATOR_BOP_PROC)(LPWORD Stack);
+#ifndef _BOP_H_
+#define _BOP_H_
+
+/* DEFINES ********************************************************************/
+
+/* BOP Identifiers */
+#define EMULATOR_BOP            0xC4C4
+
+#define EMULATOR_CTRL_BOP       0xFF    // Control BOP Handler
+         #define CTRL_BOP_DEFLT 0x00    // Default Control BOP Function
+         #define CTRL_BOP_INT32 0xFF    // 32-bit Interrupt dispatcher
+
+#define EMULATOR_MAX_BOP_NUM    0xFF + 1
 
-extern EMULATOR_BOP_PROC BopProc[EMULATOR_MAX_BOP_NUM];
+/* 32-bit Interrupt Identifiers */
+#define EMULATOR_MAX_INT_NUM    0xFF + 1
+
+/* FUNCTIONS ******************************************************************/
+
+typedef VOID (WINAPI *EMULATOR_BOP_PROC)(LPWORD Stack);
+typedef VOID (WINAPI *EMULATOR_INT32_PROC)(LPWORD Stack);
 
 VOID WINAPI ControlBop(LPWORD Stack);
 
+VOID WINAPI RegisterInt32(BYTE IntNumber, EMULATOR_INT32_PROC IntHandler);
+VOID WINAPI EmulatorBiosOperation(PFAST486_STATE State, UCHAR BopCode);
+
+#endif // _BOP_H_
+
 /* EOF */