[FAST486]: rename some structs and use #include <pshpack/poppack.h> for portability...
[reactos.git] / reactos / include / reactos / libs / fast486 / fast486.h
index 434f06c..d88f127 100644 (file)
@@ -2,7 +2,7 @@
  * Fast486 386/486 CPU Emulation Library
  * fast486.h
  *
- * Copyright (C) 2013 Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
+ * Copyright (C) 2014 Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -91,6 +91,8 @@
 #define FAST486_PREFIX_REPNZ    (1 << 4)
 #define FAST486_PREFIX_REP      (1 << 5)
 
+#define FAST486_FPU_DEFAULT_CONTROL 0x037F
+
 struct _FAST486_STATE;
 typedef struct _FAST486_STATE FAST486_STATE, *PFAST486_STATE;
 
@@ -259,14 +261,14 @@ typedef struct _FAST486_SEG_REG
     ULONG Base;
 } FAST486_SEG_REG, *PFAST486_SEG_REG;
 
-typedef struct
+typedef struct _FAST486_LDT_REG
 {
     USHORT Selector;
     ULONG Base;
     ULONG Limit;
-} FAST486_LDT_REG;
+} FAST486_LDT_REG, *PFAST486_LDT_REG;
 
-typedef struct
+typedef struct _FAST486_TASK_REG
 {
     USHORT Selector;
     ULONG Base;
@@ -274,7 +276,7 @@ typedef struct
     BOOLEAN Busy;
 } FAST486_TASK_REG, *PFAST486_TASK_REG;
 
-#pragma pack(push, 1)
+#include <pshpack1.h>
 
 typedef struct
 {
@@ -348,7 +350,7 @@ typedef struct
 /* Verify the structure size */
 C_ASSERT(sizeof(FAST486_IDT_ENTRY) == sizeof(ULONGLONG));
 
-#pragma pack(pop)
+#include <poppack.h>
 
 typedef struct _FAST486_TABLE_REG
 {
@@ -420,6 +422,7 @@ typedef struct _FAST486_FPU_DATA_REG
 {
     ULONGLONG Mantissa;
     USHORT Exponent;
+    UCHAR Sign;
 } FAST486_FPU_DATA_REG, *PFAST486_FPU_DATA_REG;
 
 typedef union _FAST486_FPU_STATUS_REG
@@ -490,10 +493,12 @@ struct _FAST486_STATE
     FAST486_INT_STATUS IntStatus;
     UCHAR PendingIntNum;
     PULONG Tlb;
+#ifndef FAST486_NO_FPU
     FAST486_FPU_DATA_REG FpuRegisters[FAST486_NUM_FPU_REGS];
     FAST486_FPU_STATUS_REG FpuStatus;
     FAST486_FPU_CONTROL_REG FpuControl;
     USHORT FpuTag;
+#endif
 };
 
 /* FUNCTIONS ******************************************************************/