| 1 |
13 |
serginhofr |
#ifndef _LINUX_SCHED_H
|
| 2 |
|
|
#define _LINUX_SCHED_H
|
| 3 |
|
|
|
| 4 |
|
|
/*
|
| 5 |
|
|
* cloning flags:
|
| 6 |
|
|
*/
|
| 7 |
|
|
#define CSIGNAL 0x000000ff /* signal mask to be sent at exit */
|
| 8 |
|
|
#define CLONE_VM 0x00000100 /* set if VM shared between processes */
|
| 9 |
|
|
#define CLONE_FS 0x00000200 /* set if fs info shared between processes */
|
| 10 |
|
|
#define CLONE_FILES 0x00000400 /* set if open files shared between processes */
|
| 11 |
|
|
#define CLONE_SIGHAND 0x00000800 /* set if signal handlers and blocked signals shared */
|
| 12 |
|
|
#define CLONE_PTRACE 0x00002000 /* set if we want to let tracing continue on the child too */
|
| 13 |
|
|
#define CLONE_VFORK 0x00004000 /* set if the parent wants the child to wake it up on mm_release */
|
| 14 |
|
|
#define CLONE_PARENT 0x00008000 /* set if we want to have the same parent as the cloner */
|
| 15 |
|
|
#define CLONE_THREAD 0x00010000 /* Same thread group? */
|
| 16 |
|
|
#define CLONE_NEWNS 0x00020000 /* New namespace group? */
|
| 17 |
|
|
#define CLONE_SYSVSEM 0x00040000 /* share system V SEM_UNDO semantics */
|
| 18 |
|
|
#define CLONE_SETTLS 0x00080000 /* create a new TLS for the child */
|
| 19 |
|
|
#define CLONE_PARENT_SETTID 0x00100000 /* set the TID in the parent */
|
| 20 |
|
|
#define CLONE_CHILD_CLEARTID 0x00200000 /* clear the TID in the child */
|
| 21 |
|
|
#define CLONE_DETACHED 0x00400000 /* Unused, ignored */
|
| 22 |
|
|
#define CLONE_UNTRACED 0x00800000 /* set if the tracing process can't force CLONE_PTRACE on this clone */
|
| 23 |
|
|
#define CLONE_CHILD_SETTID 0x01000000 /* set the TID in the child */
|
| 24 |
|
|
/* 0x02000000 was previously the unused CLONE_STOPPED (Start in stopped state)
|
| 25 |
|
|
and is now available for re-use. */
|
| 26 |
|
|
#define CLONE_NEWUTS 0x04000000 /* New utsname group? */
|
| 27 |
|
|
#define CLONE_NEWIPC 0x08000000 /* New ipcs */
|
| 28 |
|
|
#define CLONE_NEWUSER 0x10000000 /* New user namespace */
|
| 29 |
|
|
#define CLONE_NEWPID 0x20000000 /* New pid namespace */
|
| 30 |
|
|
#define CLONE_NEWNET 0x40000000 /* New network namespace */
|
| 31 |
|
|
#define CLONE_IO 0x80000000 /* Clone io context */
|
| 32 |
|
|
|
| 33 |
|
|
/*
|
| 34 |
|
|
* Scheduling policies
|
| 35 |
|
|
*/
|
| 36 |
|
|
#define SCHED_NORMAL 0
|
| 37 |
|
|
#define SCHED_FIFO 1
|
| 38 |
|
|
#define SCHED_RR 2
|
| 39 |
|
|
#define SCHED_BATCH 3
|
| 40 |
|
|
/* SCHED_ISO: reserved but not implemented yet */
|
| 41 |
|
|
#define SCHED_IDLE 5
|
| 42 |
|
|
#define SCHED_DEADLINE 6
|
| 43 |
|
|
|
| 44 |
|
|
/* Can be ORed in to make sure the process is reverted back to SCHED_NORMAL on fork */
|
| 45 |
|
|
#define SCHED_RESET_ON_FORK 0x40000000
|
| 46 |
|
|
|
| 47 |
|
|
/*
|
| 48 |
|
|
* For the sched_{set,get}attr() calls
|
| 49 |
|
|
*/
|
| 50 |
|
|
#define SCHED_FLAG_RESET_ON_FORK 0x01
|
| 51 |
|
|
|
| 52 |
|
|
#endif /* _LINUX_SCHED_H */
|