Xenomai  3.0.5
schedparam.h
1 /*
2  * Copyright (C) 2008 Philippe Gerum <rpm@xenomai.org>.
3  *
4  * Xenomai is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published
6  * by the Free Software Foundation; either version 2 of the License,
7  * or (at your option) any later version.
8  *
9  * Xenomai is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with Xenomai; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
17  * 02111-1307, USA.
18  */
19 #ifndef _COBALT_KERNEL_SCHEDPARAM_H
20 #define _COBALT_KERNEL_SCHEDPARAM_H
21 
27 struct xnsched_idle_param {
28  int prio;
29 };
30 
31 struct xnsched_weak_param {
32  int prio;
33 };
34 
35 struct xnsched_rt_param {
36  int prio;
37 };
38 
39 struct xnsched_tp_param {
40  int prio;
41  int ptid; /* partition id. */
42 };
43 
44 struct xnsched_sporadic_param {
45  xnticks_t init_budget;
46  xnticks_t repl_period;
47  int max_repl;
48  int low_prio;
49  int normal_prio;
50  int current_prio;
51 };
52 
53 struct xnsched_quota_param {
54  int prio;
55  int tgid; /* thread group id. */
56 };
57 
58 union xnsched_policy_param {
59  struct xnsched_idle_param idle;
60  struct xnsched_rt_param rt;
61 #ifdef CONFIG_XENO_OPT_SCHED_WEAK
62  struct xnsched_weak_param weak;
63 #endif
64 #ifdef CONFIG_XENO_OPT_SCHED_TP
65  struct xnsched_tp_param tp;
66 #endif
67 #ifdef CONFIG_XENO_OPT_SCHED_SPORADIC
68  struct xnsched_sporadic_param pss;
69 #endif
70 #ifdef CONFIG_XENO_OPT_SCHED_QUOTA
71  struct xnsched_quota_param quota;
72 #endif
73 };
74 
77 #endif /* !_COBALT_KERNEL_SCHEDPARAM_H */