1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21: #ifndef _SCHED_H
22: # error "Never include <bits/sched.h> directly; use <sched.h> instead."
23: #endif
24:
25:
26:
27: #define SCHED_OTHER 0
28: #define SCHED_FIFO 1
29: #define SCHED_RR 2
30:
31:
32: struct sched_param
33: {
34: int __sched_priority;
35: };
36:
37:
38: #if defined _SCHED_H && !defined __cpu_set_t_defined
39: # define __cpu_set_t_defined
40:
41: # define __CPU_SETSIZE 1024
42: # define __NCPUBITS (8 * sizeof (__cpu_mask))
43:
44:
45: typedef unsigned long int __cpu_mask;
46:
47:
48: # define __CPUELT(cpu) ((cpu) / __NCPUBITS)
49: # define __CPUMASK(cpu) ((__cpu_mask) 1 << ((cpu) % __NCPUBITS))
50:
51:
52: typedef struct
53: {
54: __cpu_mask __bits[__CPU_SETSIZE / __NCPUBITS];
55: } cpu_set_t;
56:
57:
58: # define __CPU_ZERO(cpusetp) \
59: do { \
60: unsigned int __i; \
61: cpu_set *__arr = (cpusetp); \
62: for (__i = 0; __i < sizeof (cpu_set) / sizeof (__cpu_mask); ++__i) \
63: __arr->__bits[__i] = 0; \
64: } while (0)
65: # define __CPU_SET(cpu, cpusetp) \
66: ((cpusetp)->__bits[__CPUELT (cpu)] |= __CPUMASK (cpu))
67: # define __CPU_CLR(cpu, cpusetp) \
68: ((cpusetp)->__bits[__CPUELT (cpu)] &= ~__CPUMASK (cpu))
69: # define __CPU_ISSET(cpu, cpusetp) \
70: (((cpusetp)->__bits[__CPUELT (cpu)] & __CPUMASK (cpu)) != 0)
71:
72: __BEGIN_DECLS
73:
74: extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
75: __THROW;
76:
77: __END_DECLS
78:
79: # define __CPU_COUNT(cpusetp) \
80: __sched_cpucount (sizeof (cpu_set_t), cpusetp)
81: #endif