Xenomai  3.1
thread.h
1 /*
2  * Copyright (C) 2005 Philippe Gerum <rpm@xenomai.org>.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
17  */
18 #ifndef _COBALT_UAPI_THREAD_H
19 #define _COBALT_UAPI_THREAD_H
20 
21 #include <cobalt/uapi/kernel/thread.h>
22 
23 #define PTHREAD_WARNSW XNWARN
24 #define PTHREAD_LOCK_SCHED XNLOCK
25 #define PTHREAD_DISABLE_LOCKBREAK XNTRAPLB
26 #define PTHREAD_CONFORMING 0
27 
28 struct cobalt_mutexattr {
29  int type : 3;
30  int protocol : 3;
31  int pshared : 1;
32  int __pad : 1;
33  int ceiling : 8; /* prio-1, (XN)SCHED_FIFO range. */
34 };
35 
36 struct cobalt_condattr {
37  int clock : 7;
38  int pshared : 1;
39 };
40 
41 struct cobalt_threadstat {
42  __u64 xtime;
43  __u64 timeout;
44  __u64 msw;
45  __u64 csw;
46  __u64 xsc;
47  __u32 status;
48  __u32 pf;
49  int cpu;
50  int cprio;
51  char name[XNOBJECT_NAME_LEN];
52  char personality[XNOBJECT_NAME_LEN];
53 };
54 
55 #endif /* !_COBALT_UAPI_THREAD_H */