aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Orbis/OrbisExtras/TLSStorage.h
blob: f513be9324955793efafde03af39066eb31bd9da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once

class TLSStorageOrbis
{
	static TLSStorageOrbis* m_pInstance;

	static const int	sc_maxSlots = 64;
	static BOOL 		m_activeList[sc_maxSlots];
	__thread static LPVOID	m_values[sc_maxSlots];

public:
	TLSStorageOrbis();

	// Retrieve singleton instance.
	static TLSStorageOrbis* Instance();
	int Alloc();
	BOOL Free(DWORD _index);
	BOOL SetValue(DWORD _index, LPVOID _val);
	LPVOID GetValue(DWORD _index);
};