summaryrefslogtreecommitdiffhomepage
path: root/include/ntapi/bits/x86_64
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2016-12-11 11:16:32 -0500
committermidipix <writeonce@midipix.org>2016-12-11 11:16:32 -0500
commit52d044bf2d8d38844819f682f16f64af8c57e42d (patch)
treed84c67981a95f9cf32ac9fa75f8a7adfad3754cd /include/ntapi/bits/x86_64
parent826d41ad264857c31ec500bdf9ee4a0bf5b8eba7 (diff)
downloadntapi-52d044bf2d8d38844819f682f16f64af8c57e42d.tar.bz2
ntapi-52d044bf2d8d38844819f682f16f64af8c57e42d.tar.xz
api headers: bits sub-dirs: i386 --> nt32, x86_64 --> nt64.
Diffstat (limited to 'include/ntapi/bits/x86_64')
-rw-r--r--include/ntapi/bits/x86_64/nt_atomic_x86_64_asm__gcc.h574
-rw-r--r--include/ntapi/bits/x86_64/nt_atomic_x86_64_asm__msvc.h350
-rw-r--r--include/ntapi/bits/x86_64/nt_thread_x86_64.h104
3 files changed, 0 insertions, 1028 deletions
diff --git a/include/ntapi/bits/x86_64/nt_atomic_x86_64_asm__gcc.h b/include/ntapi/bits/x86_64/nt_atomic_x86_64_asm__gcc.h
deleted file mode 100644
index d4d4eb0..0000000
--- a/include/ntapi/bits/x86_64/nt_atomic_x86_64_asm__gcc.h
+++ /dev/null
@@ -1,574 +0,0 @@
-#include <psxtypes/psxtypes.h>
-
-static __inline__ void at_locked_inc(
- intptr_t volatile * ptr)
-{
- __asm__(
- "lock;"
- "incq %0"
- : "=m" (*ptr)
- : "m" (*ptr)
- : "memory");
-}
-
-
-static __inline__ void at_locked_inc_32(
- int32_t volatile * ptr)
-{
- __asm__(
- "lock;"
- "incl %0"
- : "=m" (*ptr)
- : "m" (*ptr)
- : "memory");
-}
-
-
-static __inline__ void at_locked_inc_64(
- int64_t volatile * ptr)
-{
- __asm__(
- "lock;"
- "incq %0"
- : "=m" (*ptr)
- : "m" (*ptr)
- : "memory");
-}
-
-
-static __inline__ void at_locked_dec(
- intptr_t volatile * ptr)
-{
- __asm__(
- "lock;"
- "decq %0"
- : "=m" (*ptr)
- : "m" (*ptr)
- : "memory");
-}
-
-
-static __inline__ void at_locked_dec_32(
- int32_t volatile * ptr)
-{
- __asm__(
- "lock;"
- "decl %0"
- : "=m" (*ptr)
- : "m" (*ptr)
- : "memory");
-}
-
-
-static __inline__ void at_locked_dec_64(
- int64_t volatile * ptr)
-{
- __asm__(
- "lock;"
- "decq %0"
- : "=m" (*ptr)
- : "m" (*ptr)
- : "memory");
-}
-
-
-static __inline__ void at_locked_add(
- intptr_t volatile * ptr,
- intptr_t val)
-{
- __asm__(
- "lock;"
- "xaddq %1, %0"
- : "=m" (*ptr), "=r" (val)
- : "1" (val)
- : "memory");
-}
-
-
-static __inline__ void at_locked_add_32(
- int32_t volatile * ptr,
- int32_t val)
-{
- __asm__(
- "lock;"
- "xaddl %1, %0"
- : "=m" (*ptr), "=r" (val)
- : "1" (val)
- : "memory");
-}
-
-
-static __inline__ void at_locked_add_64(
- int64_t volatile * ptr,
- int64_t val)
-{
- __asm__(
- "lock;"
- "xaddq %1, %0"
- : "=m" (*ptr), "=r" (val)
- : "1" (val)
- : "memory");
-}
-
-
-static __inline__ void at_locked_sub(
- intptr_t volatile * ptr,
- intptr_t val)
-{
- val = -val;
-
- __asm__(
- "lock;"
- "xaddq %1, %0"
- : "=m" (*ptr), "=r" (val)
- : "1" (val)
- : "memory");
-}
-
-
-static __inline__ void at_locked_sub_32(
- int32_t volatile * ptr,
- int32_t val)
-{
- val = -val;
-
- __asm__(
- "lock;"
- "xaddl %1, %0"
- : "=m" (*ptr), "=r" (val)
- : "1" (val)
- : "memory");
-}
-
-
-static __inline__ void at_locked_sub_64(
- int64_t volatile * ptr,
- int64_t val)
-{
- val = -val;
-
- __asm__(
- "lock;"
- "xaddq %1, %0"
- : "=m" (*ptr), "=r" (val)
- : "1" (val)
- : "memory");
-}
-
-
-static __inline__ intptr_t at_locked_xadd(
- intptr_t volatile * ptr,
- intptr_t val)
-{
- __asm__(
- "lock;"
- "xaddq %1, %0"
- : "=m" (*ptr), "=r" (val)
- : "1" (val)
- : "memory");
- return val;
-}
-
-
-static __inline__ int32_t at_locked_xadd_32(
- int32_t volatile * ptr,
- int32_t val)
-{
- __asm__(
- "lock;"
- "xaddl %1, %0"
- : "=m" (*ptr), "=r" (val)
- : "1" (val)
- : "memory");
- return val;
-}
-
-
-static __inline__ int64_t at_locked_xadd_64(
- int64_t volatile * ptr,
- int64_t val)
-{
- __asm__(
- "lock;"
- "xaddq %1, %0"
- : "=m" (*ptr), "=r" (val)
- : "1" (val)
- : "memory");
- return val;
-}
-
-
-static __inline__ intptr_t at_locked_xsub(
- intptr_t volatile * ptr,
- intptr_t val)
-{
- val = -val;
-
- __asm__(
- "lock;"
- "xaddq %1, %0"
- : "=m" (*ptr), "=r" (val)
- : "1" (val)
- : "memory");
- return val;
-}
-
-
-static __inline__ int32_t at_locked_xsub_32(
- int32_t volatile * ptr,
- int32_t val)
-{
- val = -val;
-
- __asm__(
- "lock;"
- "xaddl %1, %0"
- : "=m" (*ptr), "=r" (val)
- : "1" (val)
- : "memory");
- return val;
-}
-
-
-static __inline__ int64_t at_locked_xsub_64(
- int64_t volatile * ptr,
- int64_t val)
-{
- val = -val;
-
- __asm__(
- "lock;"
- "xaddq %1, %0"
- : "=m" (*ptr), "=r" (val)
- : "1" (val)
- : "memory");
- return val;
-}
-
-
-static __inline__ intptr_t at_locked_cas(
- intptr_t volatile * dst,
- intptr_t cmp,
- intptr_t xchg)
-{
- intptr_t ret;
-
- __asm__(
- "lock;"
- "cmpxchgq %3, %0"
- : "=m" (*dst), "=a" (ret)
- : "a" (cmp), "r" (xchg)
- : "memory");
-
- return ret;
-}
-
-
-static __inline__ int32_t at_locked_cas_32(
- int32_t volatile * dst,
- int32_t cmp,
- int32_t xchg)
-{
- int32_t ret;
-
- __asm__(
- "lock;"
- "cmpxchg %3, %0"
- : "=m" (*dst), "=a" (ret)
- : "a" (cmp), "r" (xchg)
- : "memory");
-
- return ret;
-}
-
-
-static __inline__ int64_t at_locked_cas_64(
- int64_t volatile * dst,
- int64_t cmp,
- int64_t xchg)
-{
- int64_t ret;
-
- __asm__(
- "lock;"
- "cmpxchgq %3, %0"
- : "=m" (*dst), "=a" (ret)
- : "a" (cmp), "r" (xchg)
- : "memory");
-
- return ret;
-}
-
-
-static __inline__ intptr_t at_locked_and(
- intptr_t volatile * dst,
- intptr_t mask)
-{
- intptr_t ret;
-
- __asm__(
- "lock;"
- "andq %1, %0"
- : "=m" (*dst), "=a" (ret)
- : "r" (mask)
- : "memory");
-
- return ret;
-}
-
-
-static __inline__ int32_t at_locked_and_32(
- int32_t volatile * dst,
- int32_t mask)
-{
- int32_t ret;
-
- __asm__(
- "lock;"
- "andl %1, %0"
- : "=m" (*dst), "=a" (ret)
- : "r" (mask)
- : "memory");
-
- return ret;
-}
-
-
-static __inline__ int64_t at_locked_and_64(
- int64_t volatile * dst,
- int64_t mask)
-{
- int64_t ret;
-
- __asm__(
- "lock;"
- "andq %1, %0"
- : "=m" (*dst), "=a" (ret)
- : "r" (mask)
- : "memory");
-
- return ret;
-}
-
-
-static __inline__ intptr_t at_locked_or(
- intptr_t volatile * dst,
- intptr_t mask)
-{
- intptr_t ret;
-
- __asm__(
- "lock;"
- "orq %1, %0"
- : "=m" (*dst), "=a" (ret)
- : "r" (mask)
- : "memory");
-
- return ret;
-}
-
-
-static __inline__ int32_t at_locked_or_32(
- int32_t volatile * dst,
- int32_t mask)
-{
- int32_t ret;
-
- __asm__(
- "lock;"
- "orl %1, %0"
- : "=m" (*dst), "=a" (ret)
- : "r" (mask)
- : "memory");
-
- return ret;
-}
-
-
-static __inline__ int64_t at_locked_or_64(
- int64_t volatile * dst,
- int64_t mask)
-{
- int64_t ret;
-
- __asm__(
- "lock;"
- "orq %1, %0"
- : "=m" (*dst), "=a" (ret)
- : "r" (mask)
- : "memory");
-
- return ret;
-}
-
-
-static __inline__ intptr_t at_locked_xor(
- intptr_t volatile * dst,
- intptr_t mask)
-{
- intptr_t ret;
-
- __asm__(
- "lock;"
- "xorq %1, %0"
- : "=m" (*dst), "=a" (ret)
- : "r" (mask)
- : "memory");
-
- return ret;
-}
-
-
-static __inline__ int32_t at_locked_xor_32(
- int32_t volatile * dst,
- int32_t mask)
-{
- int32_t ret;
-
- __asm__(
- "lock;"
- "xorl %1, %0"
- : "=m" (*dst), "=a" (ret)
- : "r" (mask)
- : "memory");
-
- return ret;
-}
-
-
-static __inline__ int64_t at_locked_xor_64(
- int64_t volatile * dst,
- int64_t mask)
-{
- int64_t ret;
-
- __asm__(
- "lock;"
- "xorq %1, %0"
- : "=m" (*dst), "=a" (ret)
- : "r" (mask)
- : "memory");
-
- return ret;
-}
-
-
-static __inline__ void at_store(
- volatile intptr_t * dst,
- intptr_t val)
-{
- __asm__(
- "mov %1, %0;"
- "mfence;"
- : "=m" (*dst)
- : "r" (val)
- : "memory");
-}
-
-
-static __inline__ void at_store_32(
- volatile int32_t * dst,
- int32_t val)
-{
- __asm__(
- "mov %1, %0;"
- "mfence;"
- : "=m" (*dst)
- : "r" (val)
- : "memory");
-}
-
-
-static __inline__ void at_store_64(
- volatile int64_t * dst,
- int64_t val)
-{
- __asm__(
- "mov %1, %0;"
- "mfence;"
- : "=m" (*dst)
- : "r" (val)
- : "memory");
-}
-
-
-static __inline__ int at_bsf(
- unsigned int * index,
- uintptr_t mask)
-{
- if (mask) {
- __asm__(
- "bsf %1, %0"
- : "=r" (mask)
- : "r" (mask));
-
- *index = (int)mask;
- return 1;
- } else
- return 0;
-}
-
-
-static __inline__ int at_bsr(
- unsigned int * index,
- uintptr_t mask)
-{
- if (mask) {
- __asm__(
- "bsr %1, %0"
- : "=r" (mask)
- : "r" (mask));
-
- *index = (int)mask;
- return 1;
- } else
- return 0;
-}
-
-
-static __inline__ size_t at_popcount(
- uintptr_t mask)
-{
- __asm__(
- "popcntq %0, %0"
- : "=r" (mask)
- : "0" (mask)
- : "memory");
- return mask;
-}
-
-
-static __inline__ size_t at_popcount_16(
- uint16_t mask)
-{
- __asm__(
- "popcnt %0, %0"
- : "=r" (mask)
- : "0" (mask)
- : "memory");
- return mask;
-}
-
-
-static __inline__ size_t at_popcount_32(
- uint32_t mask)
-{
- __asm__(
- "popcnt %0, %0"
- : "=r" (mask)
- : "0" (mask)
- : "memory");
- return mask;
-}
-
-
-static __inline__ size_t at_popcount_64(
- uint64_t mask)
-{
- __asm__(
- "popcntq %0, %0"
- : "=r" (mask)
- : "0" (mask)
- : "memory");
- return mask;
-}
diff --git a/include/ntapi/bits/x86_64/nt_atomic_x86_64_asm__msvc.h b/include/ntapi/bits/x86_64/nt_atomic_x86_64_asm__msvc.h
deleted file mode 100644
index a52bfd4..0000000
--- a/include/ntapi/bits/x86_64/nt_atomic_x86_64_asm__msvc.h
+++ /dev/null
@@ -1,350 +0,0 @@
-#include <psxtypes/psxtypes.h>
-
-long _InterlockedIncrement(int32_t volatile * ptr);
-int64_t _InterlockedIncrement64(int64_t volatile * ptr);
-long _InterlockedDecrement(int32_t volatile * ptr);
-int64_t _InterlockedDecrement64(int64_t volatile * ptr);
-long _InterlockedExchangeAdd(int32_t volatile * ptr, int32_t val);
-int64_t _InterlockedExchangeAdd64(int64_t volatile * ptr, int64_t val);
-long _InterlockedCompareExchange(int32_t volatile * dst, int32_t xchg, int32_t cmp);
-int64_t _InterlockedCompareExchange64(int64_t volatile * dst, int64_t xchg, int64_t cmp);
-long _InterlockedAnd(int32_t volatile * dst, int32_t mask);
-int64_t _InterlockedAnd64(int64_t volatile * dst, int64_t mask);
-long _InterlockedOr(int32_t volatile * dst, int32_t mask);
-int64_t _InterlockedOr64(int64_t volatile * dst, int64_t mask);
-long _InterlockedXor(int32_t volatile * dst, int32_t mask);
-int64_t _InterlockedXor64(int64_t volatile * dst, int64_t mask);
-uint16_t __popcnt16(uint16_t mask);
-uint32_t __popcnt(uint32_t mask);
-uint64_t __popcnt64(uint64_t mask);
-void _ReadWriteBarrier(void);
-unsigned char _BitScanForward64(unsigned int * index, uintptr_t mask);
-unsigned char _BitScanReverse64(unsigned int * index, uintptr_t mask);
-
-static __inline__ void at_locked_inc(
- intptr_t volatile * ptr)
-{
- _InterlockedIncrement64(ptr);
- return;
-}
-
-
-static __inline__ void at_locked_inc_32(
- int32_t volatile * ptr)
-{
- _InterlockedIncrement(ptr);
- return;
-}
-
-
-static __inline__ void at_locked_inc_64(
- int64_t volatile * ptr)
-{
- _InterlockedIncrement64(ptr);
- return;
-}
-
-
-static __inline__ void at_locked_dec(
- intptr_t volatile * ptr)
-{
- _InterlockedDecrement64(ptr);
- return;
-}
-
-
-static __inline__ void at_locked_dec_32(
- int32_t volatile * ptr)
-{
- _InterlockedDecrement(ptr);
- return;
-}
-
-
-static __inline__ void at_locked_dec_64(
- int64_t volatile * ptr)
-{
- _InterlockedDecrement64(ptr);
- return;
-}
-
-
-static __inline__ void at_locked_add(
- intptr_t volatile * ptr,
- intptr_t val)
-{
- _InterlockedExchangeAdd64(ptr, val);
- return;
-}
-
-
-static __inline__ void at_locked_add_32(
- int32_t volatile * ptr,
- int32_t val)
-{
- _InterlockedExchangeAdd(ptr, val);
- return;
-}
-
-
-static __inline__ void at_locked_add_64(
- int64_t volatile * ptr,
- int64_t val)
-{
- _InterlockedExchangeAdd64(ptr, val);
- return;
-}
-
-
-static __inline__ void at_locked_sub(
- intptr_t volatile * ptr,
- intptr_t val)
-{
- _InterlockedExchangeAdd64(ptr, -val);
- return;
-}
-
-
-static __inline__ void at_locked_sub_32(
- int32_t volatile * ptr,
- int32_t val)
-{
- _InterlockedExchangeAdd(ptr, -val);
- return;
-}
-
-
-static __inline__ void at_locked_sub_64(
- int64_t volatile * ptr,
- int64_t val)
-{
- _InterlockedExchangeAdd64(ptr, -val);
- return;
-}
-
-
-static __inline__ intptr_t at_locked_xadd(
- intptr_t volatile * ptr,
- intptr_t val)
-{
- return _InterlockedExchangeAdd64(ptr, val);
-}
-
-
-static __inline__ int32_t at_locked_xadd_32(
- int32_t volatile * ptr,
- int32_t val)
-{
- return _InterlockedExchangeAdd(ptr, val);
-}
-
-
-static __inline__ int64_t at_locked_xadd_64(
- int64_t volatile * ptr,
- int64_t val)
-{
- return _InterlockedExchangeAdd64(ptr, val);
-}
-
-
-static __inline__ intptr_t at_locked_xsub(
- intptr_t volatile * ptr,
- intptr_t val)
-{
- return _InterlockedExchangeAdd64(ptr, -val);
-}
-
-
-static __inline__ int32_t at_locked_xsub_32(
- int32_t volatile * ptr,
- int32_t val)
-{
- return _InterlockedExchangeAdd(ptr, -val);
-}
-
-
-static __inline__ int64_t at_locked_xsub_64(
- int64_t volatile * ptr,
- int64_t val)
-{
- return _InterlockedExchangeAdd64(ptr, -val);
-}
-
-
-static __inline__ intptr_t at_locked_cas(
- intptr_t volatile * dst,
- intptr_t cmp,
- intptr_t xchg)
-{
- return _InterlockedCompareExchange64(dst,xchg,cmp);
-}
-
-
-static __inline__ int32_t at_locked_cas_32(
- int32_t volatile * dst,
- int32_t cmp,
- int32_t xchg)
-{
- return _InterlockedCompareExchange(dst,xchg,cmp);
-}
-
-
-static __inline__ int64_t at_locked_cas_64(
- int64_t volatile * dst,
- int64_t cmp,
- int64_t xchg)
-{
- return _InterlockedCompareExchange64(dst,xchg,cmp);
-}
-
-
-static __inline__ intptr_t at_locked_and(
- intptr_t volatile * dst,
- intptr_t mask)
-{
- return _InterlockedAnd64(dst,mask);
-}
-
-
-static __inline__ int32_t at_locked_and_32(
- int32_t volatile * dst,
- int32_t mask)
-{
- return _InterlockedAnd(dst,mask);
-}
-
-
-static __inline__ int64_t at_locked_and_64(
- int64_t volatile * dst,
- int64_t mask)
-{
- return _InterlockedAnd64(dst,mask);
-}
-
-
-static __inline__ intptr_t at_locked_or(
- intptr_t volatile * dst,
- intptr_t mask)
-{
- return _InterlockedOr64(dst,mask);
-}
-
-
-static __inline__ int32_t at_locked_or_32(
- int32_t volatile * dst,
- int32_t mask)
-{
- return _InterlockedOr(dst,mask);
-}
-
-
-static __inline__ int64_t at_locked_or_64(
- int64_t volatile * dst,
- int64_t mask)
-{
- return _InterlockedOr64(dst,mask);
-}
-
-
-static __inline__ intptr_t at_locked_xor(
- intptr_t volatile * dst,
- intptr_t mask)
-{
- return _InterlockedXor64(dst,mask);
-}
-
-
-static __inline__ int32_t at_locked_xor_32(
- int32_t volatile * dst,
- int32_t mask)
-{
- return _InterlockedXor(dst,mask);
-}
-
-
-static __inline__ int64_t at_locked_xor_64(
- int64_t volatile * dst,
- int64_t mask)
-{
- return _InterlockedXor64(dst,mask);
-}
-
-
-static __inline__ void at_store(
- volatile intptr_t * dst,
- intptr_t val)
-{
- _ReadWriteBarrier();
- *dst = val;
- _ReadWriteBarrier();
-
- return;
-}
-
-
-static __inline__ void at_store_32(
- volatile int32_t * dst,
- int32_t val)
-{
- _ReadWriteBarrier();
- *dst = val;
- _ReadWriteBarrier();
-
- return;
-}
-
-
-static __inline__ void at_store_64(
- volatile int64_t * dst,
- int64_t val)
-{
- _ReadWriteBarrier();
- *dst = val;
- _ReadWriteBarrier();
-
- return;
-}
-
-
-static __inline__ int at_bsf(
- unsigned int * index,
- uintptr_t mask)
-{
- return (int)_BitScanForward64(index,mask);
-}
-
-
-static __inline__ int at_bsr(
- unsigned int * index,
- uintptr_t mask)
-{
- return (int)_BitScanReverse64(index,mask);
-}
-
-
-static __inline__ size_t at_popcount(
- uintptr_t mask)
-{
- return __popcnt64(mask);
-}
-
-
-static __inline__ size_t at_popcount_16(
- uint16_t mask)
-{
- return __popcnt16(mask);
-}
-
-
-static __inline__ size_t at_popcount_32(
- uint32_t mask)
-{
- return __popcnt(mask);
-}
-
-
-static __inline__ size_t at_popcount_64(
- uint64_t mask)
-{
- return __popcnt64(mask);
-}
diff --git a/include/ntapi/bits/x86_64/nt_thread_x86_64.h b/include/ntapi/bits/x86_64/nt_thread_x86_64.h
deleted file mode 100644
index efe5664..0000000
--- a/include/ntapi/bits/x86_64/nt_thread_x86_64.h
+++ /dev/null
@@ -1,104 +0,0 @@
-#ifndef _NT_THREAD_X86_64_H_
-#define _NT_THREAD_X86_64_H_
-
-#include <psxtypes/psxtypes.h>
-
-typedef struct {
- uintptr_t uc_low;
- intptr_t uc_high;
-} nt_m128a_t;
-
-typedef struct {
- uint16_t uc_control_word; /* 0x000 */
- uint16_t uc_status_word; /* 0x002 */
- uint8_t uc_tag_word; /* 0x004 */
- uint8_t uc_reserved1; /* 0x005 */
- uint16_t uc_error_opcode; /* 0x006 */
- uint32_t uc_error_offset; /* 0x008 */
- uint16_t uc_error_selector; /* 0x00c */
- uint16_t uc_reserved2; /* 0x00e */
- uint32_t uc_data_offset; /* 0x010 */
- uint16_t uc_data_selector; /* 0x014 */
- uint16_t uc_reserved3; /* 0x016 */
- uint32_t uc_mx_csr; /* 0x018 */
- uint32_t uc_mx_csr_mask; /* 0x01c */
- nt_m128a_t uc_float_registers[8]; /* 0x020 */
- nt_m128a_t uc_xmm_registers[16]; /* 0x0a0 */
- uint8_t uc_reserved4[96]; /* 0x1a0 */
-} nt_xsave_fmt_t;
-
-typedef struct {
- uintptr_t uc_p1_home; /* 0x000 */
- uintptr_t uc_p2_home; /* 0x008 */
- uintptr_t uc_p3_home; /* 0x010 */
- uintptr_t uc_p4_home; /* 0x018 */
- uintptr_t uc_p5_home; /* 0x020 */
- uintptr_t uc_p6_home; /* 0x028 */
- uint32_t uc_context_flags; /* 0x030 */
- uint32_t uc_mx_csr; /* 0x034 */
- uint16_t uc_seg_cs; /* 0x038 */
- uint16_t uc_seg_ds; /* 0x03a */
- uint16_t uc_seg_es; /* 0x03c */
- uint16_t uc_seg_fs; /* 0x03e */
- uint16_t uc_seg_gs; /* 0x040 */
- uint16_t uc_seg_ss; /* 0x042 */
- uint32_t uc_eflags; /* 0x044 */
- uintptr_t uc_dr0; /* 0x048 */
- uintptr_t uc_dr1; /* 0x050 */
- uintptr_t uc_dr2; /* 0x058 */
- uintptr_t uc_dr3; /* 0x060 */
- uintptr_t uc_dr6; /* 0x068 */
- uintptr_t uc_dr7; /* 0x070 */
- uintptr_t uc_rax; /* 0x078 */
- uintptr_t uc_rcx; /* 0x080 */
- uintptr_t uc_rdx; /* 0x088 */
- uintptr_t uc_rbx; /* 0x090 */
- uintptr_t uc_rsp; /* 0x098 */
- uintptr_t uc_rbp; /* 0x0a0 */
- uintptr_t uc_rsi; /* 0x0a8 */
- uintptr_t uc_rdi; /* 0x0b0 */
- uintptr_t uc_r8; /* 0x0b8 */
- uintptr_t uc_r9; /* 0x0c0 */
- uintptr_t uc_r10; /* 0x0c8 */
- uintptr_t uc_r11; /* 0x0d0 */
- uintptr_t uc_r12; /* 0x0d8 */
- uintptr_t uc_r13; /* 0x0e0 */
- uintptr_t uc_r14; /* 0x0e8 */
- uintptr_t uc_r15; /* 0x0f0 */
- uintptr_t uc_rip; /* 0x0f8 */
-
- union {
- nt_xsave_fmt_t uc_flt_save; /* 0x100 */
-
- struct {
- nt_m128a_t uc_header[2]; /* 0x100 */
- nt_m128a_t uc_legacy[8]; /* 0x120 */
- } uc_hdr;
- } uc_flt;
-
- nt_m128a_t uc_xmm0; /* 0x1a0 */
- nt_m128a_t uc_xmm1; /* 0x1b0 */
- nt_m128a_t uc_xmm2; /* 0x1c0 */
- nt_m128a_t uc_xmm3; /* 0x1d0 */
- nt_m128a_t uc_xmm4; /* 0x1e0 */
- nt_m128a_t uc_xmm5; /* 0x1f0 */
- nt_m128a_t uc_xmm6; /* 0x200 */
- nt_m128a_t uc_xmm7; /* 0x210 */
- nt_m128a_t uc_xmm8; /* 0x220 */
- nt_m128a_t uc_xmm9; /* 0x230 */
- nt_m128a_t uc_xmm10; /* 0x240 */
- nt_m128a_t uc_xmm11; /* 0x250 */
- nt_m128a_t uc_xmm12; /* 0x260 */
- nt_m128a_t uc_xmm13; /* 0x270 */
- nt_m128a_t uc_xmm14; /* 0x280 */
- nt_m128a_t uc_xmm15; /* 0x290 */
- nt_m128a_t uc_vector_register[26]; /* 0x300 */
- uintptr_t uc_vector_control; /* 0x4a0 */
- uintptr_t uc_debug_control; /* 0x4a8 */
- uintptr_t uc_last_branch_to_rip; /* 0x4b0 */
- uintptr_t uc_last_branch_from_rip; /* 0x4b8 */
- uintptr_t uc_last_exception_to_rip; /* 0x4c0 */
- uintptr_t uc_last_exception_from_rip; /* 0x4c8 */
-} nt_mcontext_x86_64_t;
-
-#endif