zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ossource_win.cpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2002-2010 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 
7 #include "compiler/osinclude.h"
8 //
9 // This file contains contains the window's specific functions
10 //
11 
12 #if !defined(ANGLE_OS_WIN)
13 #error Trying to build a windows specific file in a non windows build.
14 #endif
15 
16 
17 //
18 // Thread Local Storage Operations
19 //
20 OS_TLSIndex OS_AllocTLSIndex()
21 {
22  DWORD dwIndex = TlsAlloc();
23  if (dwIndex == TLS_OUT_OF_INDEXES) {
24  assert(0 && "OS_AllocTLSIndex(): Unable to allocate Thread Local Storage");
25  return OS_INVALID_TLS_INDEX;
26  }
27 
28  return dwIndex;
29 }
30 
31 
32 bool OS_SetTLSValue(OS_TLSIndex nIndex, void *lpvValue)
33 {
34  if (nIndex == OS_INVALID_TLS_INDEX) {
35  assert(0 && "OS_SetTLSValue(): Invalid TLS Index");
36  return false;
37  }
38 
39  if (TlsSetValue(nIndex, lpvValue))
40  return true;
41  else
42  return false;
43 }
44 
45 
46 bool OS_FreeTLSIndex(OS_TLSIndex nIndex)
47 {
48  if (nIndex == OS_INVALID_TLS_INDEX) {
49  assert(0 && "OS_SetTLSValue(): Invalid TLS Index");
50  return false;
51  }
52 
53  if (TlsFree(nIndex))
54  return true;
55  else
56  return false;
57 }
bool OS_FreeTLSIndex(OS_TLSIndex nIndex)
#define assert(x)
Definition: SDL_malloc.c:1234
bool OS_SetTLSValue(OS_TLSIndex nIndex, void *lpvValue)
typedef DWORD(WINAPI *XInputGetState_t)(DWORD dwUserIndex
OS_TLSIndex OS_AllocTLSIndex()