5949af19055392088c3d314aa8128dce3020ac80
[linux-2.6.git] / include / linux / ckrm_tc.h
1 /* ckrm_tc.h - Header file to be used by task class users
2  *
3  * Copyright (C) Hubertus Franke, IBM Corp. 2003, 2004
4  * 
5  * Provides data structures, macros and kernel API for the 
6  * classtype, taskclass.
7  *
8  * Latest version, more details at http://ckrm.sf.net
9  * 
10  * This program is free software; you can redistribute it and/or modify it
11  * under the terms of version 2.1 of the GNU Lesser General Public License
12  * as published by the Free Software Foundation.
13  *
14  * This program is distributed in the hope that it would be useful, but
15  * WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
17  *
18  */
19
20 /* Changes
21  *
22  * 12 Apr 2004
23  *        Created.
24  */
25
26 #ifndef _LINUX_CKRM_TC_H_
27 #define _LINUX_CKRM_TC_H_
28
29 #ifdef CONFIG_CKRM_TYPE_TASKCLASS
30 #include <linux/ckrm_rc.h>
31
32 #define TASK_CLASS_TYPE_NAME "taskclass"
33
34 typedef struct ckrm_task_class {
35         struct ckrm_core_class core;
36 } ckrm_task_class_t;
37
38 // Index into genmfdesc array, defined in rcfs/dir_modules.c,
39 // which has the mfdesc entry that taskclass wants to use
40 #define TC_MF_IDX  0
41
42 extern int ckrm_forced_reclassify_pid(int, struct ckrm_task_class *);
43
44 #else // CONFIG_CKRM_TYPE_TASKCLASS
45
46 #define ckrm_forced_reclassify_pid(a, b) (0)
47
48 #endif
49
50 #endif // _LINUX_CKRM_TC_H_