mirror of
https://github.com/reactos/reactos.git
synced 2024-08-19 18:02:55 +00:00
![Amine Khaldi](/assets/img/avatar_default.png)
* Create a branch for some evul shell experiments. svn path=/branches/shell-experiments/; revision=61927
31 lines
607 B
C
31 lines
607 B
C
#ifndef _INLINE_NT_CURRENTTEB_H_
|
|
#define _INLINE_NT_CURRENTTEB_H_
|
|
|
|
#if defined(_M_IX86)
|
|
FORCEINLINE struct _TEB * NtCurrentTeb(void)
|
|
{
|
|
return (struct _TEB *)__readfsdword(0x18);
|
|
}
|
|
#elif defined(_M_ARM)
|
|
|
|
//
|
|
// NT-ARM is not documented
|
|
//
|
|
#include <armddk.h>
|
|
|
|
#elif defined(_M_AMD64)
|
|
FORCEINLINE struct _TEB * NtCurrentTeb(void)
|
|
{
|
|
return (struct _TEB *)__readgsqword(FIELD_OFFSET(NT_TIB, Self));
|
|
}
|
|
#elif defined(_M_PPC)
|
|
FORCEINLINE struct _TEB * NtCurrentTeb(void)
|
|
{
|
|
return (struct _TEB *)__readfsdword_winnt(0x18);
|
|
}
|
|
#else
|
|
#error Unsupported architecture
|
|
#endif
|
|
|
|
#endif//_INLINE_NT_CURRENTTEB_H_
|