/* Copyright (c) 1993 Xerox Corporation. All rights reserved. */ /* $Id$ $Date$ * * PCR thread client data definitions * */ #ifndef __PCR_ThData_h #define __PCR_ThData_h 1 #include #include #include #define PCR_ThData_MAX 8 struct PCR_ThData_TRep { void * td__slotData; void * td__unwindData; int td__errno; int td__t_errno; void * td__sigData; void * td__ioData; void * td__emuIData; void * td__emuRData; void * td__propData[PCR_ThData_MAX]; }; typedef volatile struct PCR_ThData_TRep PCR_ThData_T; extern PCR_ThData_T * PCR_ThData_Get(void); #define PCR_ThData_Get() ((PCR_ThData_T *)(PCR_Th_CurrThread())) /* * fast (less slow) errno access ... */ #undef PCR_GetErrnoAddress extern int (*(PCR_GetErrnoAddress(void))); #define PCR_GetErrnoAddress() (&( PCR_ThData_Get()->td__errno )) #endif /* ! __PCR_ThData_h */ /* $Log$ */