Something went wrong. Try again.
Reactos
Something went wrong. Try again.
1234567891011121314151617181920212223242526272829303132#ifndef _INLINE_NT_CURRENTTEB_H_#define _INLINE_NT_CURRENTTEB_H_
#ifdef __cplusplusextern "C" {#endif
FORCEINLINE struct _TEB * NtCurrentTeb(VOID){#if defined(_M_IX86) return (struct _TEB *)__readfsdword(0x18);#elif defined(_M_AMD64) return (struct _TEB *)__readgsqword(FIELD_OFFSET(NT_TIB, Self));#elif defined(_M_ARM) // return (struct _TEB *)KeGetPcr()->Used_Self; return (struct _TEB *)(ULONG_PTR)_MoveFromCoprocessor(CP15_TPIDRURW);#elif defined (_M_ARM64) //UNIMPLEMENTED; return 0;// #elif defined(_M_PPC)// return (struct _TEB *)_read_teb_dword(0x18);#else#error Unsupported architecture#endif}
#ifdef __cplusplus}#endif
#endif // _INLINE_NT_CURRENTTEB_H_