[NTOS]
[reactos.git] / reactos / sdk / include / ndk / inline_ntcurrentteb.h
1 #ifndef _INLINE_NT_CURRENTTEB_H_
2 #define _INLINE_NT_CURRENTTEB_H_
3
4 #if defined(_M_IX86)
5 FORCEINLINE struct _TEB * NtCurrentTeb(void)
6 {
7 return (struct _TEB *)__readfsdword(0x18);
8 }
9 #elif defined(_M_ARM)
10 FORCEINLINE struct _TEB * NtCurrentTeb(void)
11 {
12 __debugbreak();
13 return (struct _TEB *)0;
14 }
15 #elif defined(_M_AMD64)
16 FORCEINLINE struct _TEB * NtCurrentTeb(void)
17 {
18 return (struct _TEB *)__readgsqword(FIELD_OFFSET(NT_TIB, Self));
19 }
20 #elif defined(_M_PPC)
21 FORCEINLINE struct _TEB * NtCurrentTeb(void)
22 {
23 return (struct _TEB *)__readfsdword_winnt(0x18);
24 }
25 #else
26 #error Unsupported architecture
27 #endif
28
29 #endif//_INLINE_NT_CURRENTTEB_H_