diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2001-06-16 19:46:38 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-06-16 19:46:38 +0000 |
commit | 2986a63f7e513cf37f46db9f211b77071260031f (patch) | |
tree | 9a6e62602396938ea5a612420f53ebf267e8d941 /NetWare/nwtinfo.h | |
parent | 87b11a197a59fac210fc9265bde0ef1ffe36de89 (diff) | |
download | perl-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.h | 64 |
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__ + |