home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-generic / resource.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  2.7 KB  |  94 lines

  1. #ifndef _ASM_GENERIC_RESOURCE_H
  2. #define _ASM_GENERIC_RESOURCE_H
  3.  
  4. /*
  5.  * Resource limit IDs
  6.  *
  7.  * ( Compatibility detail: there are architectures that have
  8.  *   a different rlimit ID order in the 5-9 range and want
  9.  *   to keep that order for binary compatibility. The reasons
  10.  *   are historic and all new rlimits are identical across all
  11.  *   arches. If an arch has such special order for some rlimits
  12.  *   then it defines them prior including asm-generic/resource.h. )
  13.  */
  14.  
  15. #define RLIMIT_CPU        0    /* CPU time in ms */
  16. #define RLIMIT_FSIZE        1    /* Maximum filesize */
  17. #define RLIMIT_DATA        2    /* max data size */
  18. #define RLIMIT_STACK        3    /* max stack size */
  19. #define RLIMIT_CORE        4    /* max core file size */
  20.  
  21. #ifndef RLIMIT_RSS
  22. # define RLIMIT_RSS        5    /* max resident set size */
  23. #endif
  24.  
  25. #ifndef RLIMIT_NPROC
  26. # define RLIMIT_NPROC        6    /* max number of processes */
  27. #endif
  28.  
  29. #ifndef RLIMIT_NOFILE
  30. # define RLIMIT_NOFILE        7    /* max number of open files */
  31. #endif
  32.  
  33. #ifndef RLIMIT_MEMLOCK
  34. # define RLIMIT_MEMLOCK        8    /* max locked-in-memory address space */
  35. #endif
  36.  
  37. #ifndef RLIMIT_AS
  38. # define RLIMIT_AS        9    /* address space limit */
  39. #endif
  40.  
  41. #define RLIMIT_LOCKS        10    /* maximum file locks held */
  42. #define RLIMIT_SIGPENDING    11    /* max number of pending signals */
  43. #define RLIMIT_MSGQUEUE        12    /* maximum bytes in POSIX mqueues */
  44. #define RLIMIT_NICE        13    /* max nice prio allowed to raise to
  45.                        0-39 for nice level 19 .. -20 */
  46. #define RLIMIT_RTPRIO        14    /* maximum realtime priority */
  47.  
  48. #define RLIM_NLIMITS        15
  49.  
  50. /*
  51.  * SuS says limits have to be unsigned.
  52.  * Which makes a ton more sense anyway.
  53.  *
  54.  * Some architectures override this (for compatibility reasons):
  55.  */
  56. #ifndef RLIM_INFINITY
  57. # define RLIM_INFINITY        (~0UL)
  58. #endif
  59.  
  60. /*
  61.  * RLIMIT_STACK default maximum - some architectures override it:
  62.  */
  63. #ifndef _STK_LIM_MAX
  64. # define _STK_LIM_MAX        RLIM_INFINITY
  65. #endif
  66.  
  67. #ifdef __KERNEL__
  68.  
  69. /*
  70.  * boot-time rlimit defaults for the init task:
  71.  */
  72. #define INIT_RLIMITS                            \
  73. {                                    \
  74.     [RLIMIT_CPU]        = {  RLIM_INFINITY,  RLIM_INFINITY },    \
  75.     [RLIMIT_FSIZE]        = {  RLIM_INFINITY,  RLIM_INFINITY },    \
  76.     [RLIMIT_DATA]        = {  RLIM_INFINITY,  RLIM_INFINITY },    \
  77.     [RLIMIT_STACK]        = {       _STK_LIM,   _STK_LIM_MAX },    \
  78.     [RLIMIT_CORE]        = {              0,  RLIM_INFINITY },    \
  79.     [RLIMIT_RSS]        = {  RLIM_INFINITY,  RLIM_INFINITY },    \
  80.     [RLIMIT_NPROC]        = {              0,              0 },    \
  81.     [RLIMIT_NOFILE]        = {       INR_OPEN,       INR_OPEN },    \
  82.     [RLIMIT_MEMLOCK]    = {    MLOCK_LIMIT,    MLOCK_LIMIT },    \
  83.     [RLIMIT_AS]        = {  RLIM_INFINITY,  RLIM_INFINITY },    \
  84.     [RLIMIT_LOCKS]        = {  RLIM_INFINITY,  RLIM_INFINITY },    \
  85.     [RLIMIT_SIGPENDING]    = {         0,           0 },    \
  86.     [RLIMIT_MSGQUEUE]    = {   MQ_BYTES_MAX,   MQ_BYTES_MAX },    \
  87.     [RLIMIT_NICE]        = { 0, 0 },                \
  88.     [RLIMIT_RTPRIO]        = { 0, 0 },                \
  89. }
  90.  
  91. #endif    /* __KERNEL__ */
  92.  
  93. #endif
  94.