summaryrefslogtreecommitdiff
path: root/NetWare/nwtinfo.h
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-06-16 19:46:38 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-06-16 19:46:38 +0000
commit2986a63f7e513cf37f46db9f211b77071260031f (patch)
tree9a6e62602396938ea5a612420f53ebf267e8d941 /NetWare/nwtinfo.h
parent87b11a197a59fac210fc9265bde0ef1ffe36de89 (diff)
downloadperl-2986a63f7e513cf37f46db9f211b77071260031f.tar.gz
NetWare port from Guruprasad S <SGURUPRASAD@novell.com>.
p4raw-id: //depot/perl@10643
Diffstat (limited to 'NetWare/nwtinfo.h')
-rw-r--r--NetWare/nwtinfo.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/NetWare/nwtinfo.h b/NetWare/nwtinfo.h
new file mode 100644
index 0000000000..6930e05ebe
--- /dev/null
+++ b/NetWare/nwtinfo.h
@@ -0,0 +1,64 @@
+
+/*
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Artistic License, as specified in the README file.
+ *
+ */
+
+/*
+ * FILENAME : NWTInfo.h
+ * DESCRIPTION : Thread-local storage for Perl.
+ * Author : SGP, HYAK
+ * Date : January 2001.
+ *
+ */
+
+
+
+#ifndef __NWTInfo_H__
+#define __NWTInfo_H__
+
+
+#include "win32ish.h" // For "BOOL", "TRUE" and "FALSE"
+
+typedef struct tagThreadInfo
+{
+ int tid;
+ struct tagThreadInfo *next;
+ BOOL m_dontTouchHashLists;
+ void* m_allocList;
+}ThreadInfo;
+
+
+void fnInitializeThreadInfo(void);
+BOOL fnTerminateThreadInfo(void);
+BOOL fnRegisterWithThreadTable(void);
+BOOL fnUnregisterWithThreadTable(void);
+
+ThreadInfo* fnAddThreadInfo(int tid);
+BOOL fnRemoveThreadInfo(int tid);
+ThreadInfo* fnGetThreadInfo(int tid);
+
+//For storing and retrieving Watcom Hash list address
+BOOL fnInsertHashListAddrs(void *addrs, BOOL dontTouchHashList);
+BOOL fnGetHashListAddrs(void **addrs, BOOL *dontTouchHashList);
+
+//New TLS to set and get the thread contex - may be redundant,
+//or see if the above portion can be removed once this works properly
+typedef struct tagThreadCtx
+{
+ long tid;
+ void *tInfo;
+ struct tagThreadCtx *next;
+}ThreadContext;
+
+
+long fnInitializeThreadCtx(void);
+ThreadContext* fnAddThreadCtx(long lTLSIndex, void *t);
+BOOL fnRemoveThreadCtx(long lTLSIndex);
+void* fnGetThreadCtx(long lTLSIndex);
+
+#endif // __NWTInfo_H__
+