1 /*
2 * Mach Operating System
3 * Copyright (c) 1993 Carnegie Mellon University
4 * All Rights Reserved.
5 *
6 * Permission to use, copy, modify and distribute this software and its
7 * documentation is hereby granted, provided that both the copyright
8 * notice and this permission notice appear in all copies of the
9 * software, derivative works or modified versions, and any portions
10 * thereof, and that both notices appear in supporting documentation.
11 *
12 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
15 *
16 * Carnegie Mellon requests users of this software to return to
17 *
18 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
19 * School of Computer Science
20 * Carnegie Mellon University
21 * Pittsburgh PA 15213-3890
22 *
23 * any improvements or extensions that they make and grant Carnegie Mellon
24 * the rights to redistribute these changes.
25 */
26 /*
27 * HISTORY
28 * $Log: real_time.h,v $
29 * Revision 2.2 93/11/17 18:38:06 dbg
30 * Created.
31 * [93/05/12 dbg]
32 *
33 */
34
35 #ifndef _SCHED_POLICY_REAL_TIME_H_
36 #define _SCHED_POLICY_REAL_TIME_H_
37
38 #include <mach/boolean.h>
39 #include <mach/kern_return.h>
40 #include <mach/policy.h>
41 #include <mach/realtime_policy.h>
42
43 #include <kern/kern_types.h>
44 #include <kern/run_queues.h>
45
46 /*
47 * Common routines for real-time scheduling policies.
48 *
49 * Runq and thread have no limit, and task has no default parameters.
50 * The 'null' routines (from sched_policy/bg.c) are used.
51 */
52
53 #define rt_runq_set_limit null_runq_set_limit
54 extern kern_return_t rt_runq_set_limit(
55 run_queue_t runq,
56 policy_param_t limit,
57 natural_t count);
58
59 #define rt_runq_get_limit null_runq_get_limit
60 extern kern_return_t rt_runq_get_limit(
61 run_queue_t runq,
62 policy_param_t limit,
63 natural_t *count);
64
65 #define rt_thread_set_limit null_thread_set_limit
66 extern kern_return_t rt_thread_set_limit(
67 thread_t thread,
68 policy_param_t limit,
69 natural_t count);
70
71 extern kern_return_t rt_thread_set_param(
72 thread_t thread,
73 policy_param_t param,
74 natural_t count,
75 boolean_t new_policy,
76 boolean_t check_limits);
77
78 extern kern_return_t rt_thread_get_param(
79 thread_t thread,
80 policy_param_t param,
81 natural_t *count);
82
83 #define rt_task_set_param null_task_set_param
84 extern kern_return_t rt_task_set_param(
85 task_t task,
86 policy_param_t param,
87 natural_t count);
88
89 #define rt_task_get_param null_task_get_param
90 extern kern_return_t rt_task_get_param(
91 task_t task,
92 policy_param_t param,
93 natural_t *count);
94
95 #endif /* _SCHED_POLICY_REAL_TIME_H_ */
96
Cache object: d8e347e023792bf9065c3bc8c733cc6d
|