From 2986a63f7e513cf37f46db9f211b77071260031f Mon Sep 17 00:00:00 2001 From: Jarkko Hietaniemi Date: Sat, 16 Jun 2001 19:46:38 +0000 Subject: NetWare port from Guruprasad S . p4raw-id: //depot/perl@10643 --- NetWare/nwtinfo.h | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 NetWare/nwtinfo.h (limited to 'NetWare/nwtinfo.h') 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__ + -- cgit v1.2.1