16b202f4eSIngo Weinhold /* 2*24df6592SIngo Weinhold * Copyright 2008-2011, Ingo Weinhold, ingo_weinhold@gmx.de. 36b202f4eSIngo Weinhold * Distributed under the terms of the MIT License. 46b202f4eSIngo Weinhold */ 56b202f4eSIngo Weinhold #ifndef _SYSTEM_USER_THREAD_DEFS_H 66b202f4eSIngo Weinhold #define _SYSTEM_USER_THREAD_DEFS_H 76b202f4eSIngo Weinhold 8*24df6592SIngo Weinhold 9*24df6592SIngo Weinhold #include <pthread.h> 10*24df6592SIngo Weinhold #include <signal.h> 11*24df6592SIngo Weinhold 126b202f4eSIngo Weinhold #include <SupportDefs.h> 136b202f4eSIngo Weinhold 146b202f4eSIngo Weinhold 156b202f4eSIngo Weinhold struct user_thread { 16*24df6592SIngo Weinhold pthread_t pthread; // pthread pointer 17*24df6592SIngo Weinhold uint32 flags; 18*24df6592SIngo Weinhold status_t wait_status; // wait status for thread blocking 196b202f4eSIngo Weinhold int32 defer_signals; // counter; 0 == signals allowed 20*24df6592SIngo Weinhold sigset_t pending_signals; // signals that are pending, when 216b202f4eSIngo Weinhold // signals are deferred 226b202f4eSIngo Weinhold }; 236b202f4eSIngo Weinhold 246b202f4eSIngo Weinhold 256b202f4eSIngo Weinhold #endif /* _SYSTEM_USER_THREAD_DEFS_H */ 26