resource.h
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:3k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

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