Skip to content

Commit 331331b

Browse files
committed
fix: make CONTEXT_ALL cross-architecture
1 parent c39ab10 commit 331331b

File tree

1 file changed

+22
-9
lines changed

1 file changed

+22
-9
lines changed

src/windows.rs

+22-9
Original file line numberDiff line numberDiff line change
@@ -346,15 +346,6 @@ ffi! {
346346
pub const INVALID_HANDLE_VALUE: HANDLE = -1isize as HANDLE;
347347
pub const MAX_MODULE_NAME32: usize = 255;
348348
pub const MAX_PATH: usize = 260;
349-
pub const CONTEXT_i386: u32 = 0x10000;
350-
pub const CONTEXT_CONTROL: u32 = CONTEXT_i386 | 0x01; // SS:SP, CS:IP, FLAGS, B;
351-
pub const CONTEXT_INTEGER: u32 = CONTEXT_i386 | 0x02; // AX, BX, CX, DX, SI, D;
352-
pub const CONTEXT_SEGMENTS: u32 = CONTEXT_i386 | 0x04; // DS, ES, FS, G;
353-
pub const CONTEXT_FLOATING_POINT: u32 = CONTEXT_i386 | 0x08; // 387 stat;
354-
pub const CONTEXT_DEBUG_REGISTERS: u32 = CONTEXT_i386 | 0x10; // DB 0-3,6,;
355-
pub const CONTEXT_EXTENDED_REGISTERS: u32 = CONTEXT_i386 | 0x20; // cpu specific extension;
356-
pub const CONTEXT_ALL: u32 = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | CONTEXT_EXTENDED_REGISTERS;
357-
358349

359350
pub type DWORD = u32;
360351
pub type PDWORD = *mut u32;
@@ -575,6 +566,18 @@ ffi! {
575566
pub RegisterArea: [u8; 80],
576567
pub Spare0: DWORD,
577568
}
569+
570+
pub const CONTEXT_i386: DWORD = 0x00010000;
571+
pub const CONTEXT_i486: DWORD = 0x00010000;
572+
pub const CONTEXT_CONTROL: DWORD = CONTEXT_i386 | 0x00000001;
573+
pub const CONTEXT_INTEGER: DWORD = CONTEXT_i386 | 0x00000002;
574+
pub const CONTEXT_SEGMENTS: DWORD = CONTEXT_i386 | 0x00000004;
575+
pub const CONTEXT_FLOATING_POINT: DWORD = CONTEXT_i386 | 0x00000008;
576+
pub const CONTEXT_DEBUG_REGISTERS: DWORD = CONTEXT_i386 | 0x00000010;
577+
pub const CONTEXT_EXTENDED_REGISTERS: DWORD = CONTEXT_i386 | 0x00000020;
578+
pub const CONTEXT_FULL: DWORD = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS;
579+
pub const CONTEXT_ALL: DWORD = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS
580+
| CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | CONTEXT_EXTENDED_REGISTERS;
578581
}
579582

580583
#[cfg(target_arch = "x86_64")]
@@ -642,6 +645,16 @@ ffi! {
642645
pub Low: u64,
643646
pub High: i64,
644647
}
648+
649+
pub const CONTEXT_AMD64: DWORD = 0x00100000;
650+
pub const CONTEXT_CONTROL: DWORD = CONTEXT_AMD64 | 0x00000001;
651+
pub const CONTEXT_INTEGER: DWORD = CONTEXT_AMD64 | 0x00000002;
652+
pub const CONTEXT_SEGMENTS: DWORD = CONTEXT_AMD64 | 0x00000004;
653+
pub const CONTEXT_FLOATING_POINT: DWORD = CONTEXT_AMD64 | 0x00000008;
654+
pub const CONTEXT_DEBUG_REGISTERS: DWORD = CONTEXT_AMD64 | 0x00000010;
655+
pub const CONTEXT_FULL: DWORD = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT;
656+
pub const CONTEXT_ALL: DWORD = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS
657+
| CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS;
645658
}
646659

647660
#[repr(C)]

0 commit comments

Comments
 (0)