2020-09-30 17:17:25 +02:00

42 lines
972 B
C

/*
*
* xapitls.c
*
* Xapi TLS data
*
*/
#include "dllp.h"
ULONG _tls_index = 0;
/* Special symbols to mark start and end of Thread Local Storage area. */
#pragma data_seg(".tls")
char _tls_start = 0;
#pragma data_seg(".tls$ZZZ")
char _tls_end = 0;
/*
* Mark the .tls section as discardable so that IMAGEBLD throws the
* section (non-zero Thread Local Storage data is moved to a different
* location in the image).
*/
#pragma comment(linker, "/SECTION:.tls,D")
#pragma data_seg(".rdata$T")
const IMAGE_TLS_DIRECTORY _tls_used =
{
(ULONG)(ULONG_PTR) &_tls_start, // start of tls data
(ULONG)(ULONG_PTR) &_tls_end, // end of tls data
(ULONG)(ULONG_PTR) &_tls_index, // address of tls_index
(ULONG)(ULONG_PTR) NULL, // pointer to call back array
(ULONG) 0, // size of tls zero fill
(ULONG) 0 // characteristics
};