merge ROS Shell without integrated explorer part into trunk
[reactos.git] / reactos / lib / crt / include / internal / tls.h
1 /* tls.h */
2
3 #ifndef __CRT_INTERNAL_TLS_H
4 #define __CRT_INTERNAL_TLS_H
5
6 #include <stdarg.h>
7
8 #include <windef.h>
9 #include <winbase.h>
10 #include <winnt.h>
11
12 #include <msvcrt/crttypes.h>
13 #include <stddef.h>
14
15 typedef struct _ThreadData
16 {
17 int terrno; /* *nix error code */
18 unsigned long tdoserrno; /* Win32 error code (for I/O only) */
19 unsigned LONGLONG tnext; /* used by rand/srand */
20
21 char *lasttoken; /* used by strtok */
22 wchar_t *wlasttoken; /* used by wcstok */
23
24
25 int fpecode; /* fp exception code */
26
27 /* qsort variables */
28 int (*qcmp)(const void *, const void *); /* the comparison routine */
29 int qsz; /* size of each record */
30 int thresh; /* THRESHold in chars */
31 int mthresh; /* MTHRESHold in chars */
32
33 EXCEPTION_RECORD *exc_record; /* Head of exception record list */
34
35 } THREADDATA, *PTHREADDATA;
36
37
38 int CreateThreadData(void);
39 void DestroyThreadData(void);
40
41 void FreeThreadData(PTHREADDATA ptd);
42 PTHREADDATA GetThreadData(void);
43
44 #endif /* __MSVCRT_INTERNAL_TLS_H */
45
46 /* EOF */
47